From 19fb12798b35c0d93510cb2c8fc998108c3eadff Mon Sep 17 00:00:00 2001 From: Joakim Plate Date: Sat, 29 Dec 2012 20:34:11 +0100 Subject: [PATCH] filebundle: fb_read must return real len in FB_DIRECT mode --- src/filebundle.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/filebundle.c b/src/filebundle.c index 81993d03..295ed00f 100644 --- a/src/filebundle.c +++ b/src/filebundle.c @@ -493,7 +493,8 @@ ssize_t fb_read ( fb_file *fp, void *buf, size_t count ) memcpy(buf, fp->buf + fp->pos, count); fp->pos += count; } else if (fp->type == FB_DIRECT) { - fp->pos += fread(buf, 1, count, fp->d.cur); + count = fread(buf, 1, count, fp->d.cur); + fp->pos += count; } else { count = MIN(count, fp->b.root->f.size - fp->pos); memcpy(buf, fp->b.root->f.data + fp->pos, count);