eolian generator: check fwrite return value currectly

This fixes CID 1327247.

@fix
This commit is contained in:
Daniel Kolesa 2016-03-11 13:16:34 +00:00
parent c420cbe9f0
commit 97adf6d52b
1 changed files with 12 additions and 2 deletions

View File

@ -105,8 +105,18 @@ _write_file(const char *filename, const Eina_Strbuf *buffer, Eina_Bool append)
return EINA_FALSE;
}
if (eina_strbuf_length_get(buffer))
fwrite(eina_strbuf_string_get(buffer), 1, eina_strbuf_length_get(buffer), fd);
size_t blen = eina_strbuf_length_get(buffer);
if (!blen)
return EINA_TRUE;
if (fwrite(eina_strbuf_string_get(buffer), 1, blen, fd) != blen)
{
fprintf(stderr, "eolian: could not write '%s' (%s)\n",
filename, strerror(errno));
fclose(fd);
return EINA_FALSE;
}
fclose(fd);
return EINA_TRUE;
}