Resending, due to no response.
[[[
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
On Fri, Jun 1, 2012 at 8:47 AM, Vladimir Berezniker <[email protected]>wrote:
> 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