1
0
Fork 0
mirror of https://git.tukaani.org/xz.git synced 2024-04-04 12:36:23 +02:00

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.
This commit is contained in:
Lasse Collin 2008-01-23 21:05:33 +02:00
parent 0e80ded13d
commit ae0cd09a66

View file

@ -276,8 +276,12 @@ stream_encode(lzma_coder *coder, lzma_allocator *allocator,
// Don't create an empty Block unless it would be // Don't create an empty Block unless it would be
// the only Data Block. // the only Data Block.
if (*in_pos == in_size) { 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) 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_count_get(coder->info) != 0) {
if (lzma_info_index_finish(coder->info)) if (lzma_info_index_finish(coder->info))