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:
parent
0e80ded13d
commit
ae0cd09a66
|
@ -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))
|
||||
|
|
Loading…
Reference in New Issue