]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
compress_lzma: New enum values from liblzma 5.3.x maint-0.4.5
authorMicah Elizabeth Scott <beth@torproject.org>
Wed, 18 Jan 2023 22:14:47 +0000 (14:14 -0800)
committerDavid Goulet <dgoulet@torproject.org>
Wed, 25 Jan 2023 19:13:31 +0000 (14:13 -0500)
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>
changes/ticket40741 [new file with mode: 0644]
src/lib/compress/compress_lzma.c

diff --git a/changes/ticket40741 b/changes/ticket40741
new file mode 100644 (file)
index 0000000..2a9f724
--- /dev/null
@@ -0,0 +1,2 @@
+  o Minor feature (lzma):
+    - Fix compiler warnings for liblzma >= 5.3.1. Closes ticket 40741.
index 8884b020e891dbfe7ca11bec094b003791163e8b..0cb1ece7612f2ccd3e9ba8a0f92c3bd9d05e93c0 100644 (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",