compress_lzma: New enum values from liblzma 5.3.x

Add new liblzma enums (LZMA_SEEK_NEEDED and LZMA_RET_INTERNAL*)
conditional to the API version they arrived in. The first stable
version of liblzma this affects is 5.4.0

Fixes #40741

Signed-off-by: Micah Elizabeth Scott <beth@torproject.org>
This commit is contained in:
Micah Elizabeth Scott 2023-01-18 14:14:47 -08:00 committed by David Goulet
parent ee153db5a1
commit 3d7e3af91e
2 changed files with 32 additions and 0 deletions

2
changes/ticket40741 Normal file
View File

@ -0,0 +1,2 @@
o Minor feature (lzma):
- Fix compiler warnings for liblzma >= 5.3.1. Closes ticket 40741.

View File

@ -73,6 +73,23 @@ lzma_error_str(lzma_ret error)
return "Unable to progress";
case LZMA_PROG_ERROR:
return "Programming error";
#if LZMA_VERSION >= 50030010
case LZMA_SEEK_NEEDED:
// This can be returned by the .xz file_info decoder but with
// lzma_alone_decoder/encoder as we use, it should never be seen.
return "Seek needed";
#endif
#if LZMA_VERSION >= 50030020
case LZMA_RET_INTERNAL1:
case LZMA_RET_INTERNAL2:
case LZMA_RET_INTERNAL3:
case LZMA_RET_INTERNAL4:
case LZMA_RET_INTERNAL5:
case LZMA_RET_INTERNAL6:
case LZMA_RET_INTERNAL7:
case LZMA_RET_INTERNAL8:
FALLTHROUGH;
#endif
default:
return "Unknown LZMA error";
}
@ -306,6 +323,19 @@ tor_lzma_compress_process(tor_lzma_compress_state_t *state,
case LZMA_OPTIONS_ERROR:
case LZMA_DATA_ERROR:
case LZMA_PROG_ERROR:
#if LZMA_VERSION >= 50030010
case LZMA_SEEK_NEEDED:
#endif
#if LZMA_VERSION >= 50030020
case LZMA_RET_INTERNAL1:
case LZMA_RET_INTERNAL2:
case LZMA_RET_INTERNAL3:
case LZMA_RET_INTERNAL4:
case LZMA_RET_INTERNAL5:
case LZMA_RET_INTERNAL6:
case LZMA_RET_INTERNAL7:
case LZMA_RET_INTERNAL8:
#endif
default:
log_warn(LD_GENERAL, "LZMA %s didn't finish: %s.",
state->compress ? "compression" : "decompression",