X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=src%2Fmain.c;h=f0521e453923fc0b7bd99446c5934d415d6248f1;hb=refs%2Ftags%2Fv0.0.6;hp=d32a2e5e85fc56d2b7b2216e64e0859e24740d5e;hpb=01993d67742a96b55b0595e51e6c4768b7c61403;p=fdkaac.git diff --git a/src/main.c b/src/main.c index d32a2e5..f0521e4 100644 --- a/src/main.c +++ b/src/main.c @@ -33,13 +33,15 @@ static int read_callback(void *cookie, void *data, uint32_t size) { - return fread(data, 1, size, (FILE*)cookie); + size_t rc = fread(data, 1, size, (FILE*)cookie); + return ferror((FILE*)cookie) ? -1 : (int)rc; } static int write_callback(void *cookie, const void *data, uint32_t size) { - return fwrite(data, 1, size, (FILE*)cookie); + size_t rc = fwrite(data, 1, size, (FILE*)cookie); + return ferror((FILE*)cookie) ? -1 : (int)rc; } static @@ -297,7 +299,8 @@ int write_sample(FILE *ofp, m4af_writer_t *m4af, const void *data, uint32_t size, uint32_t duration) { if (!m4af) { - if (fwrite(data, 1, size, ofp) < 0) { + fwrite(data, 1, size, ofp); + if (ferror(ofp)) { fprintf(stderr, "ERROR: fwrite(): %s\n", strerror(errno)); return -1; }