]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
compress_lzma: New enum values from liblzma 5.3.x
authorMicah Elizabeth Scott <beth@torproject.org>
Wed, 18 Jan 2023 22:14:47 +0000 (14:14 -0800)
committerDavid Goulet <dgoulet@torproject.org>
Thu, 19 Jan 2023 18:59:08 +0000 (13:59 -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 7e5c1a28835b7aee5a81158dad7959ede07e5c3d..6ae8fd81099f2b3383caa4af5f521b41552b0c58 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",