From: Lasse Collin Date: Wed, 23 Jan 2008 19:05:33 +0000 (+0200) Subject: Return LZMA_STREAM_END instead of LZMA_OK if X-Git-Tag: v4.999.3alpha~51 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ae0cd09a666a1682da8fc09487322227679e218d;p=thirdparty%2Fxz.git Return LZMA_STREAM_END instead of LZMA_OK if LZMA_SYNC_FLUSH or LZMA_FULL_FLUSH is used when there's no unfinished Block open. --- diff --git a/src/liblzma/common/stream_encoder_multi.c b/src/liblzma/common/stream_encoder_multi.c index 33b4efd9..403980cf 100644 --- a/src/liblzma/common/stream_encoder_multi.c +++ b/src/liblzma/common/stream_encoder_multi.c @@ -276,8 +276,12 @@ stream_encode(lzma_coder *coder, lzma_allocator *allocator, // Don't create an empty Block unless it would be // the only Data Block. if (*in_pos == in_size) { + // If we are LZMA_SYNC_FLUSHing or LZMA_FULL_FLUSHing, + // return LZMA_STREAM_END since there's nothing to + // flush. if (action != LZMA_FINISH) - return LZMA_OK; + return action == LZMA_RUN + ? LZMA_OK : LZMA_STREAM_END; if (lzma_info_index_count_get(coder->info) != 0) { if (lzma_info_index_finish(coder->info))