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
|
// 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))
|
||||||
|
|
Loading…
Reference in New Issue