Code

Split getException into method and function, so it can be used in native functions.
authorishmal <ishmal@users.sourceforge.net>
Wed, 12 Mar 2008 20:05:45 +0000 (20:05 +0000)
committerishmal <ishmal@users.sourceforge.net>
Wed, 12 Mar 2008 20:05:45 +0000 (20:05 +0000)
src/bind/dobinding.cpp
src/bind/javabind-private.h

index e2157de0b3f69b584e9b6c2640496e1ac95c3a9a..639e27062844729b714734e49e60fff338124f8d 100644 (file)
@@ -66,6 +66,10 @@ typedef struct
     JNINativeMethod *methods;
 } NativeClass;
 
+/**
+ * Although I dislike macros, this one seems reasonable
+ */ 
+#define EXCEPTION (getExceptionString(env).c_str())
 
 //########################################################################
 //# BASE OBJECT
@@ -76,7 +80,7 @@ static jlong getPointer(JNIEnv *env, jobject obj)
     jfieldID id = env->GetFieldID(env->GetObjectClass(obj), "_pointer", "J");
     if (!id)
         {
-        err("getPointer: %s", getException(env).c_str());
+        err("getPointer: %s", EXCEPTION);
         return 0;
                }
     jlong val = env->GetLongField(obj, id);
@@ -88,7 +92,7 @@ static void setPointer(JNIEnv *env, jobject obj, jlong val)
     jfieldID id = env->GetFieldID(env->GetObjectClass(obj), "_pointer", "J");
     if (!id)
         {
-        err("setPointer: %s", getException(env).c_str());
+        err("setPointer: %s", EXCEPTION);
         return;
                }
     env->SetLongField(obj, id, val);
index c4dbd5e9a8530aee1a0a6d4f64a3aa807980117b..c919c105dac3c54262493c15e7da7b94bfe701fd 100644 (file)
@@ -95,9 +95,6 @@ String normalizePath(const String &str);
 
 String getExceptionString(JNIEnv *env);
 
-String getException(JNIEnv *env)
-    { return getExceptionString(env); }
-
 jint getInt(JNIEnv *env, jobject obj, const char *name);
 
 void setInt(JNIEnv *env, jobject obj, const char *name, jint val);