aboutsummaryrefslogtreecommitdiff
path: root/stream.c
diff options
context:
space:
mode:
authorAryadev Chavali <aryadev@aryadevchavali.com>2025-08-29 14:53:18 +0100
committerAryadev Chavali <aryadev@aryadevchavali.com>2025-08-29 14:53:18 +0100
commit7595c46f5cf6ff2cabf7358436dabfd4c8a75017 (patch)
tree8f7dd1223a9f84de8531c38e2cbf62406ab39cb5 /stream.c
parent73736cf77c9694c4212fb68bd76560a0897ed4eb (diff)
downloadalisp-7595c46f5cf6ff2cabf7358436dabfd4c8a75017.tar.gz
alisp-7595c46f5cf6ff2cabf7358436dabfd4c8a75017.tar.bz2
alisp-7595c46f5cf6ff2cabf7358436dabfd4c8a75017.zip
Fix bug where chunking overwrites previously cached results
Diffstat (limited to 'stream.c')
-rw-r--r--stream.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/stream.c b/stream.c
index 009bb43..573b14b 100644
--- a/stream.c
+++ b/stream.c
@@ -121,8 +121,8 @@ bool stream_chunk(stream_t *stream)
if (feof(stream->pipe.file))
return false;
vec_ensure_free(&stream->pipe.cache, STREAM_DEFAULT_CHUNK);
- int read = fread(vec_data(&stream->pipe.cache), 1, STREAM_DEFAULT_CHUNK,
- stream->pipe.file);
+ int read = fread(vec_data(&stream->pipe.cache) + stream->pipe.cache.size, 1,
+ STREAM_DEFAULT_CHUNK, stream->pipe.file);
stream->pipe.cache.size += read;
return true;
}