From 203136e793db822c2d586f24d5a3aa127ea10f1b Mon Sep 17 00:00:00 2001 From: Ayappan Date: Wed, 22 Mar 2017 18:05:39 -0700 Subject: [PATCH] Fix Compilation errors when using IBM Java Summary: PR to fix this issue -> https://github.com/facebook/rocksdb/issues/1926 Closes https://github.com/facebook/rocksdb/pull/1965 Differential Revision: D4682411 Pulled By: siying fbshipit-source-id: a519be1 --- java/rocksjni/iterator.cc | 4 ++-- java/rocksjni/portal.h | 6 +++--- java/rocksjni/rocksjni.cc | 6 +++--- java/rocksjni/slice.cc | 2 +- java/rocksjni/write_batch_test.cc | 2 +- java/rocksjni/writebatchhandlerjnicallback.cc | 2 +- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/java/rocksjni/iterator.cc b/java/rocksjni/iterator.cc index 43f4b027f..860c26530 100644 --- a/java/rocksjni/iterator.cc +++ b/java/rocksjni/iterator.cc @@ -132,7 +132,7 @@ jbyteArray Java_org_rocksdb_RocksIterator_key0( return nullptr; } env->SetByteArrayRegion(jkey, 0, static_cast(key_slice.size()), - reinterpret_cast(key_slice.data())); + const_cast(reinterpret_cast(key_slice.data()))); return jkey; } @@ -153,6 +153,6 @@ jbyteArray Java_org_rocksdb_RocksIterator_value0( return nullptr; } env->SetByteArrayRegion(jkeyValue, 0, static_cast(value_slice.size()), - reinterpret_cast(value_slice.data())); + const_cast(reinterpret_cast(value_slice.data()))); return jkeyValue; } diff --git a/java/rocksjni/portal.h b/java/rocksjni/portal.h index 87b00cc7c..62ab2f99c 100644 --- a/java/rocksjni/portal.h +++ b/java/rocksjni/portal.h @@ -2257,7 +2257,7 @@ class JniUtil { } env->SetByteArrayRegion(jbytes, 0, jlen, - reinterpret_cast(bytes.c_str())); + const_cast(reinterpret_cast(bytes.c_str()))); if(env->ExceptionCheck()) { // exception thrown: ArrayIndexOutOfBoundsException env->DeleteLocalRef(jbytes); @@ -2384,7 +2384,7 @@ class JniUtil { env->SetByteArrayRegion( jbyte_string_ary, 0, str_len, - reinterpret_cast(str->c_str())); + const_cast(reinterpret_cast(str->c_str()))); if(env->ExceptionCheck()) { // exception thrown: ArrayIndexOutOfBoundsException env->DeleteLocalRef(jbyte_string_ary); @@ -2509,7 +2509,7 @@ class JniUtil { } env->SetByteArrayRegion(jret_value, 0, static_cast(value.size()), - reinterpret_cast(value.c_str())); + const_cast(reinterpret_cast(value.c_str()))); if(env->ExceptionCheck()) { // exception thrown: ArrayIndexOutOfBoundsException if(jret_value != nullptr) { diff --git a/java/rocksjni/rocksjni.cc b/java/rocksjni/rocksjni.cc index 044cccbf7..b7c83db49 100644 --- a/java/rocksjni/rocksjni.cc +++ b/java/rocksjni/rocksjni.cc @@ -702,7 +702,7 @@ jint rocksdb_get_helper(JNIEnv* env, rocksdb::DB* db, const jint length = std::min(jval_len, cvalue_len); env->SetByteArrayRegion(jval, jval_off, length, - reinterpret_cast(cvalue.c_str())); + const_cast(reinterpret_cast(cvalue.c_str()))); if(env->ExceptionCheck()) { // exception thrown: OutOfMemoryError *has_exception = true; @@ -843,7 +843,7 @@ jobjectArray multi_get_helper(JNIEnv* env, jobject jdb, rocksdb::DB* db, } env->SetByteArrayRegion(jentry_value, 0, static_cast(jvalue_len), - reinterpret_cast(value->c_str())); + const_cast(reinterpret_cast(value->c_str()))); if(env->ExceptionCheck()) { // exception thrown: ArrayIndexOutOfBoundsException env->DeleteLocalRef(jentry_value); @@ -1608,7 +1608,7 @@ jlongArray Java_org_rocksdb_RocksDB_iterators( for (std::vector::size_type i = 0; i < iterators.size(); i++) { env->SetLongArrayRegion(jLongArray, static_cast(i), 1, - reinterpret_cast(&iterators[i])); + const_cast(reinterpret_cast(&iterators[i]))); if(env->ExceptionCheck()) { // exception thrown: ArrayIndexOutOfBoundsException env->DeleteLocalRef(jLongArray); diff --git a/java/rocksjni/slice.cc b/java/rocksjni/slice.cc index d485b2b7f..a630e9990 100644 --- a/java/rocksjni/slice.cc +++ b/java/rocksjni/slice.cc @@ -185,7 +185,7 @@ jbyteArray Java_org_rocksdb_Slice_data0( } env->SetByteArrayRegion(data, 0, len, - reinterpret_cast(slice->data())); + const_cast(reinterpret_cast(slice->data()))); if(env->ExceptionCheck()) { // exception thrown: ArrayIndexOutOfBoundsException env->DeleteLocalRef(data); diff --git a/java/rocksjni/write_batch_test.cc b/java/rocksjni/write_batch_test.cc index 2d83910a3..254374c3b 100644 --- a/java/rocksjni/write_batch_test.cc +++ b/java/rocksjni/write_batch_test.cc @@ -107,7 +107,7 @@ jbyteArray Java_org_rocksdb_WriteBatchTest_getContents( } env->SetByteArrayRegion(jstate, 0, static_cast(state.size()), - reinterpret_cast(state.c_str())); + const_cast(reinterpret_cast(state.c_str()))); if(env->ExceptionCheck()) { // exception thrown: ArrayIndexOutOfBoundsException env->DeleteLocalRef(jstate); diff --git a/java/rocksjni/writebatchhandlerjnicallback.cc b/java/rocksjni/writebatchhandlerjnicallback.cc index 7ef45a25c..2be225b2e 100644 --- a/java/rocksjni/writebatchhandlerjnicallback.cc +++ b/java/rocksjni/writebatchhandlerjnicallback.cc @@ -286,7 +286,7 @@ jbyteArray WriteBatchHandlerJniCallback::sliceToJArray(const Slice& s) { m_env->SetByteArrayRegion( ja, 0, static_cast(s.size()), - reinterpret_cast(s.data())); + const_cast(reinterpret_cast(s.data()))); if(m_env->ExceptionCheck()) { if(ja != nullptr) { m_env->DeleteLocalRef(ja);