diff --git a/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/erasurecode/jni_common.c b/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/erasurecode/jni_common.c index 17e05dbe23c..2b1d9eac0ce 100644 --- a/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/erasurecode/jni_common.c +++ b/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/io/erasurecode/jni_common.c @@ -43,21 +43,26 @@ void setCoder(JNIEnv* env, jobject thiz, IsalCoder* pCoder) { } IsalCoder* getCoder(JNIEnv* env, jobject thiz) { - jclass clazz = (*env)->GetObjectClass(env, thiz); + jclass clazz; + jmethodID mid; + jboolean verbose; + jfieldID fid; + IsalCoder* pCoder; - jmethodID mid = (*env)->GetMethodID(env, clazz, "allowVerboseDump", "()Z"); + clazz = (*env)->GetObjectClass(env, thiz); + mid = (*env)->GetMethodID(env, clazz, "allowVerboseDump", "()Z"); if (mid == NULL) { THROW(env, "java/lang/UnsatisfiedLinkError", "Method allowVerboseDump not found"); } - jboolean verbose = (*env)->CallBooleanMethod(env, thiz, mid); + verbose = (*env)->CallBooleanMethod(env, thiz, mid); - jfieldID fid = (*env)->GetFieldID(env, clazz, "nativeCoder", "J"); + fid = (*env)->GetFieldID(env, clazz, "nativeCoder", "J"); if (fid == NULL) { THROW(env, "java/lang/UnsatisfiedLinkError", "Field nativeCoder not found"); } - IsalCoder* pCoder = (IsalCoder*)(*env)->GetLongField(env, thiz, fid); + pCoder = (IsalCoder*)(*env)->GetLongField(env, thiz, fid); pCoder->verbose = (verbose == JNI_TRUE) ? 1 : 0; return pCoder;