@@ -94,7 +94,7 @@ JNIEXPORT jint JNICALL Java_net_jpountz_lz4_LZ4JNI_LZ4_1compressHC
9494 char * in ;
9595 char * out ;
9696 jint compressed ;
97-
97+
9898 if (srcArray != NULL ) {
9999 in = (char * ) (* env )-> GetPrimitiveArrayCritical (env , srcArray , 0 );
100100 } else {
@@ -104,7 +104,7 @@ JNIEXPORT jint JNICALL Java_net_jpountz_lz4_LZ4JNI_LZ4_1compressHC
104104 if (in == NULL ) {
105105 throw_OOM (env );
106106 return 0 ;
107- }
107+ }
108108
109109 if (destArray != NULL ) {
110110 out = (char * ) (* env )-> GetPrimitiveArrayCritical (env , destArray , 0 );
@@ -141,24 +141,24 @@ JNIEXPORT jint JNICALL Java_net_jpountz_lz4_LZ4JNI_LZ4_1decompress_1fast
141141 char * in ;
142142 char * out ;
143143 jint compressed ;
144-
144+
145145 if (srcArray != NULL ) {
146146 in = (char * ) (* env )-> GetPrimitiveArrayCritical (env , srcArray , 0 );
147147 } else {
148148 in = (char * ) (* env )-> GetDirectBufferAddress (env , srcBuffer );
149- }
150-
149+ }
150+
151151 if (in == NULL ) {
152152 throw_OOM (env );
153153 return 0 ;
154- }
155-
154+ }
155+
156156 if (destArray != NULL ) {
157157 out = (char * ) (* env )-> GetPrimitiveArrayCritical (env , destArray , 0 );
158158 } else {
159159 out = (char * ) (* env )-> GetDirectBufferAddress (env , destBuffer );
160- }
161-
160+ }
161+
162162 if (out == NULL ) {
163163 throw_OOM (env );
164164 return 0 ;
@@ -177,6 +177,47 @@ JNIEXPORT jint JNICALL Java_net_jpountz_lz4_LZ4JNI_LZ4_1decompress_1fast
177177
178178}
179179
180+ /*
181+ * Class: net_jpountz_lz4_LZ4JNI
182+ * Method: LZ4_compress_addr
183+ * Signature: (JIJI)I
184+ */
185+ JNIEXPORT jint JNICALL Java_net_jpountz_lz4_LZ4JNI_LZ4_1compress_1addr
186+ (JNIEnv * env , jclass cls , jlong srcAddr , jint srcLen , jlong destAddr , jint maxDestLen ) {
187+ return LZ4_compress_default ((const char * ) srcAddr , (char * ) destAddr , srcLen , maxDestLen );
188+ }
189+
190+ /*
191+ * Class: net_jpountz_lz4_LZ4JNI
192+ * Method: LZ4_compressHC_addr
193+ * Signature: (JIJII)I
194+ */
195+ JNIEXPORT jint JNICALL Java_net_jpountz_lz4_LZ4JNI_LZ4_1compressHC_1addr
196+ (JNIEnv * env , jclass cls , jlong srcAddr , jint srcLen , jlong destAddr , jint maxDestLen ,
197+ int compressionLevel ) {
198+ return LZ4_compress_HC ((const char * ) srcAddr , (char * ) destAddr , srcLen , maxDestLen , compressionLevel );
199+ }
200+
201+ /*
202+ * Class: net_jpountz_lz4_LZ4JNI
203+ * Method: LZ4_decompress_fast_addr
204+ * Signature: (JJI)I
205+ */
206+ JNIEXPORT jint JNICALL Java_net_jpountz_lz4_LZ4JNI_LZ4_1decompress_1fast_1addr
207+ (JNIEnv * env , jclass cls , jlong srcAddr , jlong destAddr , jint maxDestLen ) {
208+ return LZ4_decompress_fast ((const char * ) srcAddr , (char * ) destAddr , maxDestLen );
209+ }
210+
211+ /*
212+ * Class: net_jpountz_lz4_LZ4JNI
213+ * Method: LZ4_decompress_safe_addr
214+ * Signature: (JIJI)I
215+ */
216+ JNIEXPORT jint JNICALL Java_net_jpountz_lz4_LZ4JNI_LZ4_1decompress_1safe_1addr
217+ (JNIEnv * env , jclass cls , jlong srcAddr , jint srcLen , jlong destAddr , jint maxDestLen ) {
218+ return LZ4_decompress_safe ((const char * ) srcAddr , (char * ) destAddr , srcLen , maxDestLen );
219+ }
220+
180221/*
181222 * Class: net_jpountz_lz4_LZ4JNI
182223 * Method: LZ4_decompress_safe
@@ -193,19 +234,19 @@ JNIEXPORT jint JNICALL Java_net_jpountz_lz4_LZ4JNI_LZ4_1decompress_1safe
193234 in = (char * ) (* env )-> GetPrimitiveArrayCritical (env , srcArray , 0 );
194235 } else {
195236 in = (char * ) (* env )-> GetDirectBufferAddress (env , srcBuffer );
196- }
197-
237+ }
238+
198239 if (in == NULL ) {
199240 throw_OOM (env );
200241 return 0 ;
201- }
202-
242+ }
243+
203244 if (destArray != NULL ) {
204245 out = (char * ) (* env )-> GetPrimitiveArrayCritical (env , destArray , 0 );
205246 } else {
206247 out = (char * ) (* env )-> GetDirectBufferAddress (env , destBuffer );
207- }
208-
248+ }
249+
209250 if (out == NULL ) {
210251 throw_OOM (env );
211252 return 0 ;
0 commit comments