From 852deaa0244d72a8d9df4f80ae70a364e10c9ec0 Mon Sep 17 00:00:00 2001 From: Jack Klamer Date: Wed, 25 Sep 2024 13:54:01 -0400 Subject: [PATCH] Remove is_error invokation on function return with valid negative values --- src/main/java/io/airlift/compress/v3/zstd/ZstdNative.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/airlift/compress/v3/zstd/ZstdNative.java b/src/main/java/io/airlift/compress/v3/zstd/ZstdNative.java index 37631a88..f5e79a16 100644 --- a/src/main/java/io/airlift/compress/v3/zstd/ZstdNative.java +++ b/src/main/java/io/airlift/compress/v3/zstd/ZstdNative.java @@ -53,6 +53,8 @@ private ZstdNative() {} // TODO should we just hardcode this to 3? public static final int DEFAULT_COMPRESSION_LEVEL; + private static final long ZSTD_CONTENTSIZE_UNKNOWN; + static { NativeLoader.Symbols symbols = NativeLoader.loadSymbols("zstd", MethodHandles.class, lookup()); LINKAGE_ERROR = symbols.linkageError(); @@ -74,6 +76,7 @@ private ZstdNative() {} else { DEFAULT_COMPRESSION_LEVEL = -1; } + ZSTD_CONTENTSIZE_UNKNOWN = -1L; } public static boolean isEnabled() @@ -154,7 +157,7 @@ public static long decompressedLength(MemorySegment compressed, long compressedL throw new Error("Unexpected exception", e); } - if (isError(result)) { + if (ZSTD_CONTENTSIZE_UNKNOWN != result && result < 0) { throw new IllegalArgumentException("Unknown error occurred during decompression: " + getErrorName(result)); } return result;