Procházet zdrojové kódy

HADOOP-13504. Refactor jni_common to conform to C89 restrictions imposed by Visual Studio 2010. Contributed by Sammi Chen

Kai Zheng před 8 roky
rodič
revize
dbcaf999d9

+ 10 - 5
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;