|
@@ -8,11 +8,10 @@ size_t fread(void *restrict destv, size_t size, size_t nmemb, FILE *restrict f)
|
|
unsigned char *dest = destv;
|
|
unsigned char *dest = destv;
|
|
size_t len = size*nmemb, l = len, k;
|
|
size_t len = size*nmemb, l = len, k;
|
|
|
|
|
|
- /* Never touch the file if length is zero.. */
|
|
|
|
- if (!l) return 0;
|
|
|
|
-
|
|
|
|
FLOCK(f);
|
|
FLOCK(f);
|
|
|
|
|
|
|
|
+ f->mode |= f->mode-1;
|
|
|
|
+
|
|
if (f->rend - f->rpos > 0) {
|
|
if (f->rend - f->rpos > 0) {
|
|
/* First exhaust the buffer. */
|
|
/* First exhaust the buffer. */
|
|
k = MIN(f->rend - f->rpos, l);
|
|
k = MIN(f->rend - f->rpos, l);
|