From a1d3d201aeeb1360f5b34497040e908d932f65d9 Mon Sep 17 00:00:00 2001 From: Micah Elizabeth Scott Date: Wed, 18 Jan 2023 14:14:47 -0800 Subject: 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 --- changes/ticket40741 | 2 ++ src/lib/compress/compress_lzma.c | 30 ++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 changes/ticket40741 diff --git a/changes/ticket40741 b/changes/ticket40741 new file mode 100644 index 0000000000..2a9f72489d --- /dev/null +++ b/changes/ticket40741 @@ -0,0 +1,2 @@ + o Minor feature (lzma): + - Fix compiler warnings for liblzma >= 5.3.1. Closes ticket 40741. diff --git a/src/lib/compress/compress_lzma.c b/src/lib/compress/compress_lzma.c index 8884b020e8..0cb1ece761 100644 --- a/src/lib/compress/compress_lzma.c +++ b/src/lib/compress/compress_lzma.c @@ -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", -- cgit v1.2.3-54-g00ecf