[[[
    JavaHL: Added SVN_JNI_STRING macro to reduce amount of duplicate code
dealing with jstring wrapper and checking for exceptions

    [ in subversion/bindings/javahl/native ]

    * JNIStringHolder.h
      (SVN_JNI_STRING): New macro to declare JNIStringHolder local variable
and return in case of exception
]]]
Index: subversion/bindings/javahl/native/JNIStringHolder.h
===================================================================
--- subversion/bindings/javahl/native/JNIStringHolder.h (revision 1328758)
+++ subversion/bindings/javahl/native/JNIStringHolder.h (working copy)
@@ -44,4 +44,13 @@ class JNIStringHolder
   jstring m_jtext;
 };
 
+#define SVN_JNI_STRING(localName, jname, ret_val)     \
+JNIStringHolder localName(jname);                     \
+do {                                                  \
+  if (JNIUtil::isExceptionThrown())                   \
+    {                                                 \
+      return ret_val ;                                \
+    }                                                 \
+} while (0)
+
 #endif  // JNISTRINGHOLDER_H

Reply via email to