From dd7c61a4f30ba7efd9733b76c55f9df682732fee Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Mon, 20 Jun 2011 13:35:13 +0900 Subject: [PATCH] Fixes issue 18 --- Makefile.common | 4 ++-- src/main/java/org/xerial/snappy/Snappy.java | 10 +++++++++ .../org/xerial/snappy/SnappyErrorCode.java | 3 ++- .../java/org/xerial/snappy/SnappyNative.cpp | 20 +++++++++++------- .../native/Windows/amd64/snappyjava.dll | Bin 644608 -> 644608 bytes .../java/org/xerial/snappy/SnappyTest.java | 9 +++++++- 6 files changed, 34 insertions(+), 12 deletions(-) diff --git a/Makefile.common b/Makefile.common index a483d71..cc26f7d 100755 --- a/Makefile.common +++ b/Makefile.common @@ -85,14 +85,14 @@ Mac-x86_64_SNAPPY_FLAGS := Windows-x86_CXX := mingw32-g++ Windows-x86_STRIP := strip -Windows-x86_CXXFLAGS := -Ilib/inc_win -O2 +Windows-x86_CXXFLAGS := -Ilib/inc_win -O2 Windows-x86_LINKFLAGS := -Wl,--kill-at -shared -static Windows-x86_LIBNAME := snappyjava.dll Windows-x86_SNAPPY_FLAGS := Windows-amd64_CXX := x86_64-w64-mingw32-g++ Windows-amd64_STRIP := x86_64-w64-mingw32-strip -Windows-amd64_CXXFLAGS := -Ilib/inc_win -O2 +Windows-amd64_CXXFLAGS := -Ilib/inc_win -O2 Windows-amd64_LINKFLAGS := -Wl,--kill-at -shared -static Windows-amd64_LIBNAME := snappyjava.dll Windows-amd64_SNAPPY_FLAGS := diff --git a/src/main/java/org/xerial/snappy/Snappy.java b/src/main/java/org/xerial/snappy/Snappy.java index 0f8436f..505ed56 100755 --- a/src/main/java/org/xerial/snappy/Snappy.java +++ b/src/main/java/org/xerial/snappy/Snappy.java @@ -166,6 +166,16 @@ public class Snappy return SnappyNative.isValidCompressedBuffer(input, offset, length); } + /** + * Returns true iff the contents of compressed buffer [offset, + * offset+length) can be uncompressed successfully. Does not return the + * uncompressed data. Takes time proportional to the input length, but is + * usually at least a factor of four faster than actual decompression. + */ + public static boolean isValidCompressedBuffer(byte[] input) throws SnappyException { + return isValidCompressedBuffer(input, 0, input.length); + } + /** * Returns true iff the contents of compressed buffer [pos() ... limit()) * can be uncompressed successfully. Does not return the uncompressed data. diff --git a/src/main/java/org/xerial/snappy/SnappyErrorCode.java b/src/main/java/org/xerial/snappy/SnappyErrorCode.java index 19f30bf..efdddc4 100755 --- a/src/main/java/org/xerial/snappy/SnappyErrorCode.java +++ b/src/main/java/org/xerial/snappy/SnappyErrorCode.java @@ -37,7 +37,8 @@ public enum SnappyErrorCode { FAILED_TO_LOAD_NATIVE_LIBRARY(1), PARSING_ERROR(2), NOT_A_DIRECT_BUFFER(3), - OUT_OF_MEMORY(4); + OUT_OF_MEMORY(4), + FAILED_TO_UNCOMPRESS(5); public final int id; diff --git a/src/main/java/org/xerial/snappy/SnappyNative.cpp b/src/main/java/org/xerial/snappy/SnappyNative.cpp index e304615..32ecfb2 100755 --- a/src/main/java/org/xerial/snappy/SnappyNative.cpp +++ b/src/main/java/org/xerial/snappy/SnappyNative.cpp @@ -19,19 +19,18 @@ void throw_exception(JNIEnv *env, jclass self, int errorCode) { - jmethodID mth_throwex = 0; + jmethodID mth_throwex = env->GetStaticMethodID(self, "throw_error", "(I)V"); - if (!mth_throwex) - mth_throwex = env->GetMethodID(self, "throw_error", "(I)V"); - - env->CallVoidMethod(self, mth_throwex, (jint) errorCode); + if(mth_throwex == 0) + return; + env->CallStaticVoidMethod(self, mth_throwex, (jint) errorCode); } JNIEXPORT jstring JNICALL Java_org_xerial_snappy_SnappyNative_nativeLibraryVersion (JNIEnv * env, jclass self) { - return env->NewStringUTF("1.0.1"); + return env->NewStringUTF("1.0.3"); } /* @@ -94,7 +93,7 @@ JNIEXPORT jint JNICALL Java_org_xerial_snappy_SnappyNative_rawUncompress__Ljava_ env->ReleasePrimitiveArrayCritical((jarray) output, out, 0); if(!ret) { - throw_exception(env, self, 2); + throw_exception(env, self, 5); return 0; } @@ -121,7 +120,7 @@ JNIEXPORT jint JNICALL Java_org_xerial_snappy_SnappyNative_rawUncompress__Ljava_ snappy::GetUncompressedLength(compressedBuffer + cpos, (size_t) clen, &decompressedLength); bool ret = snappy::RawUncompress(compressedBuffer + cpos, (size_t) clen, decompressedBuffer + dpos); if(!ret) { - throw_exception(env, self, 2); + throw_exception(env, self, 5); return 0; } @@ -180,6 +179,11 @@ JNIEXPORT jint JNICALL Java_org_xerial_snappy_SnappyNative_uncompressedLength__L bool ret = snappy::GetUncompressedLength(in + offset, (size_t) length, &result); env->ReleasePrimitiveArrayCritical((jarray) input, in, 0); + if(!ret) { + throw_exception(env, self, 2); + return 0; + } + return (jint) result; } diff --git a/src/main/resources/org/xerial/snappy/native/Windows/amd64/snappyjava.dll b/src/main/resources/org/xerial/snappy/native/Windows/amd64/snappyjava.dll index ab4dad2c99fcb360d5ad3b4ffa311f271efa624f..dd14762ec0dadb7b80079fe526721976c9287eb3 100755 GIT binary patch delta 47087 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%0Ah{S_U7vMmVl{>KrhJ?@fE=eogPx_*d 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%0DC1RM&nGhZ;sLW*cn~2 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 TUE9Lj-q;q|7Rq`