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