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