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 <v...@hitechman.com>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

Reply via email to