X-Git-Url: http://jsfdemo.indexdata.com/?a=blobdiff_plain;f=bfile%2Fmfile.c;h=5f0dd22af37a9dfdf284d14d2685be3b7ebbee6a;hb=bae5c11f9676cfe8f6d11c2d6442094d67711e79;hp=ab74d4f130757c4d0b21122cec8c963e77e422ac;hpb=578dd70f12b83f52068e882335c322ddb9ebe2dc;p=idzebra-moved-to-github.git diff --git a/bfile/mfile.c b/bfile/mfile.c index ab74d4f..5f0dd22 100644 --- a/bfile/mfile.c +++ b/bfile/mfile.c @@ -4,7 +4,10 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: mfile.c,v $ - * Revision 1.2 1994-08-23 14:50:48 quinn + * Revision 1.3 1994-08-24 09:37:17 quinn + * Changed reaction to read return values. + * + * Revision 1.2 1994/08/23 14:50:48 quinn * Fixed mf_close(). * * Revision 1.1 1994/08/23 14:41:33 quinn @@ -293,14 +296,19 @@ int mf_close(MFile mf) */ int mf_read(MFile mf, int no, int offset, int num, void *buf) { + int rd; + if (file_position(mf, no) < 0) exit(1); - if (read(mf->files[mf->cur_file].fd, buf, mf->blocksize) < mf->blocksize) + if ((rd = read(mf->files[mf->cur_file].fd, buf, mf->blocksize)) < 0) { log(LOG_FATAL|LOG_ERRNO, "Read failed"); exit(1); } - return 0; + else if (rd < mf->blocksize) + return 0; + else + return 1; } /*