Please consider following patch for trunk:

[[[
JavaHL: Add SVN_JNI_STRING macro to reduce amount of code necessary to
declare
JNIStringHolder and check for exceptions

[ in subversion/bindings/javahl/native ]

* JNIStringHolder.h
  (SVN_JNI_STRING): New macro to declare JNIStringHolder local variable and
    return in case of exceptions
]]]

Thank you,

Vladimir
Index: subversion/bindings/javahl/native/JNIStringHolder.h
===================================================================
--- subversion/bindings/javahl/native/JNIStringHolder.h (revision 1345120)
+++ subversion/bindings/javahl/native/JNIStringHolder.h (working copy)
@@ -44,4 +44,18 @@
   jstring m_jtext;
 };
 
+/*
+ * Declare JNIStringHolder variable localname based on jstring named jname and
+ * return ret_val if exception occurs
+ */
+#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