From 7ca0d146ecaf2f99781653d1203bd3db7afc85ba Mon Sep 17 00:00:00 2001 From: Timo Teräs Date: Fri, 10 Jan 2020 11:02:48 +0200 Subject: istream: add buffering capability Convert all implementations to do buffering. This is in preparation to remove bstream interface as redundant. istream_read() will return full reads unless end-of-file. The backends can return short reads to optimize buffering or due to other reasons like boundary change for gz. --- src/archive.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/archive.c') diff --git a/src/archive.c b/src/archive.c index db9242f..1d956f3 100644 --- a/src/archive.c +++ b/src/archive.c @@ -303,8 +303,10 @@ int apk_tar_parse(struct apk_istream *is, apk_archive_entry_parser parser, toskip += 512 - ((offset + toskip) & 511); offset += toskip; if (toskip != 0) { - if ((r = apk_istream_read(is, NULL, toskip)) != toskip) + if ((r = apk_istream_read(is, NULL, toskip)) != toskip) { + r = -EIO; goto err; + } } } -- cgit v1.2.3-60-g2f50