Patch 01 - Introduce macro [[[ JavaHL: Added CPPADDR_NULL_PTR macro to reduce amount of duplicate code checking C++ pointer extracted from the java object
[ in subversion/bindings/javahl/native ] * JNIUtil.h (CPPADDR_NULL_PTR): New macro to test for NULL pointer and raise java exception if necessary ]]] Patch 02 - Change existing code to use the new macro [[[ JavaHL: Migrate existing code to the CPPADDR_NULL_PTR macro to reduce amount of duplicate code [ in subversion/bindings/javahl/native ] * org_apache_subversion_javahl_SVNClient.cpp (Java_org_apache_subversion_javahl_SVNClient_dispose, Java_org_apache_subversion_javahl_SVNClient_getAdminDirectoryName, Java_org_apache_subversion_javahl_SVNClient_isAdminDirectory, Java_org_apache_subversion_javahl_SVNClient_getLastPath, Java_org_apache_subversion_javahl_SVNClient_username, Java_org_apache_subversion_javahl_SVNClient_password, Java_org_apache_subversion_javahl_SVNClient_setPrompt, Java_org_apache_subversion_javahl_SVNClient_logMessages, Java_org_apache_subversion_javahl_SVNClient_checkout, Java_org_apache_subversion_javahl_SVNClient_remove, Java_org_apache_subversion_javahl_SVNClient_revert, Java_org_apache_subversion_javahl_SVNClient_add, Java_org_apache_subversion_javahl_SVNClient_update, Java_org_apache_subversion_javahl_SVNClient_commit, Java_org_apache_subversion_javahl_SVNClient_copy, Java_org_apache_subversion_javahl_SVNClient_move, Java_org_apache_subversion_javahl_SVNClient_mkdir, Java_org_apache_subversion_javahl_SVNClient_cleanup, Java_org_apache_subversion_javahl_SVNClient_resolve, Java_org_apache_subversion_javahl_SVNClient_doExport, Java_org_apache_subversion_javahl_SVNClient_doSwitch, Java_org_apache_subversion_javahl_SVNClient_doImport, Java_org_apache_subversion_javahl_SVNClient_merge__Ljava_lang_String_2Lorg_apache_subversion_javahl_types_Revision_2Ljava_lang_String_2Lorg_apache_subversion_javahl_types_Revision_2Ljava_lang_String_2ZLorg_apache_subversion_javahl_types_Depth_2ZZZ, Java_org_apache_subversion_javahl_SVNClient_suggestMergeSources, Java_org_apache_subversion_javahl_SVNClient_merge__Ljava_lang_String_2Lorg_apache_subversion_javahl_types_Revision_2Ljava_util_List_2Ljava_lang_String_2ZLorg_apache_subversion_javahl_types_Depth_2ZZZ, Java_org_apache_subversion_javahl_SVNClient_mergeReintegrate, Java_org_apache_subversion_javahl_SVNClient_properties, Java_org_apache_subversion_javahl_SVNClient_propertySetRemote, Java_org_apache_subversion_javahl_SVNClient_propertySetLocal, Java_org_apache_subversion_javahl_SVNClient_revProperty, Java_org_apache_subversion_javahl_SVNClient_revProperties, Java_org_apache_subversion_javahl_SVNClient_setRevProperty, Java_org_apache_subversion_javahl_SVNClient_propertyGet, Java_org_apache_subversion_javahl_SVNClient_getMergeinfo, Java_org_apache_subversion_javahl_SVNClient_getMergeinfoLog, Java_org_apache_subversion_javahl_SVNClient_diff__Ljava_lang_String_2Lorg_apache_subversion_javahl_types_Revision_2Ljava_lang_String_2Lorg_apache_subversion_javahl_types_Revision_2Ljava_lang_String_2Ljava_io_OutputStream_2Lorg_apache_subversion_javahl_types_Depth_2Ljava_util_Collection_2ZZZZZZ, Java_org_apache_subversion_javahl_SVNClient_diff__Ljava_lang_String_2Lorg_apache_subversion_javahl_types_Revision_2Lorg_apache_subversion_javahl_types_Revision_2Lorg_apache_subversion_javahl_types_Revision_2Ljava_lang_String_2Ljava_io_OutputStream_2Lorg_apache_subversion_javahl_types_Depth_2Ljava_util_Collection_2ZZZZZZ, Java_org_apache_subversion_javahl_SVNClient_diffSummarize__Ljava_lang_String_2Lorg_apache_subversion_javahl_types_Revision_2Ljava_lang_String_2Lorg_apache_subversion_javahl_types_Revision_2Lorg_apache_subversion_javahl_types_Depth_2Ljava_util_Collection_2ZLorg_apache_subversion_javahl_callback_DiffSummaryCallback_2, Java_org_apache_subversion_javahl_SVNClient_diffSummarize__Ljava_lang_String_2Lorg_apache_subversion_javahl_types_Revision_2Lorg_apache_subversion_javahl_types_Revision_2Lorg_apache_subversion_javahl_types_Revision_2Lorg_apache_subversion_javahl_types_Depth_2Ljava_util_Collection_2ZLorg_apache_subversion_javahl_callback_DiffSummaryCallback_2, Java_org_apache_subversion_javahl_SVNClient_streamFileContent, Java_org_apache_subversion_javahl_SVNClient_getVersionInfo, Java_org_apache_subversion_javahl_SVNClient_upgrade, Java_org_apache_subversion_javahl_SVNClient_relocate, Java_org_apache_subversion_javahl_SVNClient_blame, Java_org_apache_subversion_javahl_SVNClient_setConfigDirectory, Java_org_apache_subversion_javahl_SVNClient_getConfigDirectory, Java_org_apache_subversion_javahl_SVNClient_addToChangelist, Java_org_apache_subversion_javahl_SVNClient_removeFromChangelists, Java_org_apache_subversion_javahl_SVNClient_getChangelists, Java_org_apache_subversion_javahl_SVNClient_lock, Java_org_apache_subversion_javahl_SVNClient_unlock, Java_org_apache_subversion_javahl_SVNClient_info2, Java_org_apache_subversion_javahl_SVNClient_patch): Switched to CPPADDR_NULL_PTR * org_apache_subversion_javahl_SVNRepos.cpp, (Java_org_apache_subversion_javahl_SVNRepos_dispose, Java_org_apache_subversion_javahl_SVNRepos_create, Java_org_apache_subversion_javahl_SVNRepos_deltify, Java_org_apache_subversion_javahl_SVNRepos_dump, Java_org_apache_subversion_javahl_SVNRepos_hotcopy, Java_org_apache_subversion_javahl_SVNRepos_listDBLogs, Java_org_apache_subversion_javahl_SVNRepos_listUnusedDBLogs, Java_org_apache_subversion_javahl_SVNRepos_load, Java_org_apache_subversion_javahl_SVNRepos_lstxns, Java_org_apache_subversion_javahl_SVNRepos_recover, Java_org_apache_subversion_javahl_SVNRepos_rmtxns, Java_org_apache_subversion_javahl_SVNRepos_setRevProp, Java_org_apache_subversion_javahl_SVNRepos_verify, Java_org_apache_subversion_javahl_SVNRepos_lslocks, Java_org_apache_subversion_javahl_SVNRepos_rmlocks, Java_org_apache_subversion_javahl_SVNRepos_upgrade, Java_org_apache_subversion_javahl_SVNRepos_pack, Java_org_apache_subversion_javahl_SVNRepos_cancelOperation): Switched to CPPADDR_NULL_PTR ]]] Regards, Vladimir
Index: subversion/bindings/javahl/native/JNIUtil.h =================================================================== --- subversion/bindings/javahl/native/JNIUtil.h (revision 1344562) +++ subversion/bindings/javahl/native/JNIUtil.h (working copy) @@ -272,4 +272,12 @@ */ #define POP_AND_RETURN_NULL POP_AND_RETURN(NULL) +#define CPPADDR_NULL_PTR(expr, ret_val) \ + do { \ + if (expr == NULL) { \ + JNIUtil::throwError(_("bad C++ this")); \ + return ret_val ; \ + } \ + } while (0) + #endif // JNIUTIL_H
Index: subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNRepos.cpp =================================================================== --- subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNRepos.cpp (revision 1344562) +++ subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNRepos.cpp (working copy) @@ -55,11 +55,7 @@ { JNIEntry(SVNRepos, dispose); SVNRepos *cl = SVNRepos::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); cl->dispose(jthis); } @@ -80,11 +76,7 @@ { JNIEntry(SVNRepos, create); SVNRepos *cl = SVNRepos::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); File path(jpath); if (JNIUtil::isExceptionThrown()) @@ -109,11 +101,7 @@ { JNIEntry(SVNRepos, deltify); SVNRepos *cl = SVNRepos::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); File path(jpath); if (JNIUtil::isExceptionThrown()) @@ -138,11 +126,7 @@ { JNIEntry(SVNRepos, dump); SVNRepos *cl = SVNRepos::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); File path(jpath); if (JNIUtil::isExceptionThrown()) @@ -174,11 +158,7 @@ { JNIEntry(SVNRepos, hotcopy); SVNRepos *cl = SVNRepos::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); File path(jpath); if (JNIUtil::isExceptionThrown()) @@ -197,11 +177,7 @@ { JNIEntry(SVNRepos, listDBLogs); SVNRepos *cl = SVNRepos::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); File path(jpath); if (JNIUtil::isExceptionThrown()) @@ -220,11 +196,7 @@ { JNIEntry(SVNRepos, listUnusedDBLogs); SVNRepos *cl = SVNRepos::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); File path(jpath); if (JNIUtil::isExceptionThrown()) @@ -245,11 +217,7 @@ { JNIEntry(SVNRepos, load); SVNRepos *cl = SVNRepos::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); File path(jpath); if (JNIUtil::isExceptionThrown()) @@ -277,11 +245,7 @@ { JNIEntry(SVNRepos, lstxns); SVNRepos *cl = SVNRepos::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); File path(jpath); if (JNIUtil::isExceptionThrown()) @@ -300,11 +264,7 @@ { JNIEntry(SVNRepos, recover); SVNRepos *cl = SVNRepos::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return -1; - } + CPPADDR_NULL_PTR(cl, -1); File path(jpath); if (JNIUtil::isExceptionThrown()) @@ -321,11 +281,7 @@ { JNIEntry(SVNRepos, rmtxns); SVNRepos *cl = SVNRepos::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); File path(jpath); if (JNIUtil::isExceptionThrown()) @@ -346,11 +302,7 @@ { JNIEntry(SVNRepos, setRevProp); SVNRepos *cl = SVNRepos::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); File path(jpath); if (JNIUtil::isExceptionThrown()) @@ -380,11 +332,7 @@ { JNIEntry(SVNRepos, verify); SVNRepos *cl = SVNRepos::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); File path(jpath); if (JNIUtil::isExceptionThrown()) @@ -412,11 +360,7 @@ { JNIEntry(SVNRepos, lslocks); SVNRepos *cl = SVNRepos::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return NULL; - } + CPPADDR_NULL_PTR(cl, NULL); File path(jpath); if (JNIUtil::isExceptionThrown()) @@ -431,11 +375,7 @@ { JNIEntry(SVNRepos, rmlocks); SVNRepos *cl = SVNRepos::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); File path(jpath); if (JNIUtil::isExceptionThrown()) @@ -454,11 +394,7 @@ { JNIEntry(SVNRepos, upgrade); SVNRepos *cl = SVNRepos::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); File path(jpath); if (JNIUtil::isExceptionThrown()) @@ -475,11 +411,7 @@ { JNIEntry(SVNRepos, pack); SVNRepos *cl = SVNRepos::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); File path(jpath); if (JNIUtil::isExceptionThrown()) @@ -496,10 +428,6 @@ { JNIEntry(SVNRepos, cancelOperation); SVNRepos *cl = SVNRepos::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError("bad C++ this"); - return; - } + CPPADDR_NULL_PTR(cl, ); cl->cancelOperation(); } Index: subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp =================================================================== --- subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp (revision 1344562) +++ subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp (working copy) @@ -70,11 +70,7 @@ { JNIEntry(SVNClient, dispose); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); cl->dispose(jthis); } @@ -94,11 +90,7 @@ { JNIEntry(SVNClient, getAdminDirectoryName); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return NULL; - } + CPPADDR_NULL_PTR(cl, NULL); return cl->getAdminDirectoryName(); } @@ -108,11 +100,7 @@ { JNIEntry(SVNClient, isAdminDirectory); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return JNI_FALSE; - } + CPPADDR_NULL_PTR(cl, JNI_FALSE); JNIStringHolder name(jname); if (JNIUtil::isExceptionThrown()) return JNI_FALSE; @@ -126,11 +114,7 @@ { JNIEntry(SVNClient, getLastPath); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return NULL; - } + CPPADDR_NULL_PTR(cl, NULL); const char *ret = cl->getLastPath(); return JNIUtil::makeJString(ret); } @@ -196,11 +180,7 @@ { JNIEntry(SVNClient, username); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); if (jusername == NULL) { JNIUtil::raiseThrowable("java/lang/IllegalArgumentException", @@ -220,11 +200,7 @@ { JNIEntry(SVNClient, password); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); if (jpassword == NULL) { JNIUtil::raiseThrowable("java/lang/IllegalArgumentException", @@ -244,11 +220,7 @@ { JNIEntry(SVNClient, setPrompt); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); Prompter *prompter = Prompter::makeCPrompter(jprompter); if (JNIUtil::isExceptionThrown()) return; @@ -265,11 +237,7 @@ { JNIEntry(SVNClient, logMessages); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); Revision pegRevision(jpegRevision, true); if (JNIUtil::isExceptionThrown()) return; @@ -316,11 +284,7 @@ { JNIEntry(SVNClient, checkout); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return -1; - } + CPPADDR_NULL_PTR(cl, -1); Revision revision(jrevision, true); if (JNIUtil::isExceptionThrown()) return -1; @@ -351,11 +315,7 @@ { JNIEntry(SVNClient, remove); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); SVN::Pool tmpPool; StringArray targetsArr(jtargets); Targets targets(targetsArr, tmpPool); @@ -382,11 +342,7 @@ { JNIEntry(SVNClient, revert); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); JNIStringHolder path(jpath); if (JNIUtil::isExceptionThrown()) return; @@ -405,11 +361,7 @@ { JNIEntry(SVNClient, add); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); JNIStringHolder path(jpath); if (JNIUtil::isExceptionThrown()) return; @@ -426,11 +378,7 @@ { JNIEntry(SVNClient, update); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return NULL; - } + CPPADDR_NULL_PTR(cl, NULL); Revision revision(jrevision); if (JNIUtil::isExceptionThrown()) return NULL; @@ -456,11 +404,7 @@ { JNIEntry(SVNClient, commit); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); SVN::Pool tmpPool; StringArray targetsArr(jtargets); Targets targets(targetsArr, tmpPool); @@ -496,11 +440,7 @@ JNIEntry(SVNClient, copy); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); Array copySrcArray(jcopySources); if (JNIUtil::isExceptionThrown()) return; @@ -536,11 +476,7 @@ JNIEntry(SVNClient, move); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); SVN::Pool tmpPool; StringArray srcPathArr(jsrcPaths); Targets srcPaths(srcPathArr, tmpPool); @@ -571,11 +507,7 @@ { JNIEntry(SVNClient, mkdir); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); SVN::Pool tmpPool; StringArray targetsArr(jtargets); Targets targets(targetsArr, tmpPool); @@ -601,11 +533,7 @@ { JNIEntry(SVNClient, cleanup); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); JNIStringHolder path(jpath); if (JNIUtil::isExceptionThrown()) return; @@ -619,11 +547,7 @@ { JNIEntry(SVNClient, resolve); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); JNIStringHolder path(jpath); if (JNIUtil::isExceptionThrown()) return; @@ -640,11 +564,7 @@ { JNIEntry(SVNClient, doExport); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return -1; - } + CPPADDR_NULL_PTR(cl, -1); Revision revision(jrevision); if (JNIUtil::isExceptionThrown()) return -1; @@ -679,11 +599,7 @@ { JNIEntry(SVNClient, doSwitch); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return -1; - } + CPPADDR_NULL_PTR(cl, -1); Revision revision(jrevision); if (JNIUtil::isExceptionThrown()) return -1; @@ -716,11 +632,7 @@ { JNIEntry(SVNClient, doImport); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); JNIStringHolder path(jpath); if (JNIUtil::isExceptionThrown()) return; @@ -750,11 +662,7 @@ { JNIEntry(SVNClient, suggestMergeSources); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return NULL; - } + CPPADDR_NULL_PTR(cl, NULL); JNIStringHolder path(jpath); if (JNIUtil::isExceptionThrown()) @@ -776,11 +684,7 @@ { JNIEntry(SVNClient, merge); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); Revision revision1(jrevision1); if (JNIUtil::isExceptionThrown()) return; @@ -815,11 +719,7 @@ { JNIEntry(SVNClient, merge); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); JNIStringHolder path(jpath); if (JNIUtil::isExceptionThrown()) @@ -864,11 +764,7 @@ { JNIEntry(SVNClient, mergeReintegrate); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); JNIStringHolder path(jpath); if (JNIUtil::isExceptionThrown()) @@ -894,11 +790,7 @@ { JNIEntry(SVNClient, properties); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); JNIStringHolder path(jpath); if (JNIUtil::isExceptionThrown()) return; @@ -928,11 +820,7 @@ { JNIEntry(SVNClient, propertySet); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); JNIStringHolder path(jpath); if (JNIUtil::isExceptionThrown()) return; @@ -966,11 +854,7 @@ { JNIEntry(SVNClient, propertySet); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); SVN::Pool tmpPool; StringArray targetsArr(jtargets); Targets targets(targetsArr, tmpPool); @@ -999,11 +883,7 @@ { JNIEntry(SVNClient, revProperty); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return NULL; - } + CPPADDR_NULL_PTR(cl, NULL); JNIStringHolder path(jpath); if (JNIUtil::isExceptionThrown()) return NULL; @@ -1025,11 +905,7 @@ { JNIEntry(SVNClient, revProperty); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return NULL; - } + CPPADDR_NULL_PTR(cl, NULL); JNIStringHolder path(jpath); if (JNIUtil::isExceptionThrown()) return NULL; @@ -1048,11 +924,7 @@ { JNIEntry(SVNClient, setRevProperty); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); JNIStringHolder path(jpath); if (JNIUtil::isExceptionThrown()) return; @@ -1084,11 +956,7 @@ { JNIEntry(SVNClient, propertyGet); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return NULL; - } + CPPADDR_NULL_PTR(cl, NULL); JNIStringHolder path(jpath); if (JNIUtil::isExceptionThrown()) return NULL; @@ -1114,11 +982,7 @@ { JNIEntry(SVNClient, getMergeinfo); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return NULL; - } + CPPADDR_NULL_PTR(cl, NULL); JNIStringHolder target(jtarget); if (JNIUtil::isExceptionThrown()) return NULL; @@ -1136,11 +1000,7 @@ { JNIEntry(SVNClient, getMergeinfoLog); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); Revision pegRevision(jpegRevision, true); if (JNIUtil::isExceptionThrown()) @@ -1180,11 +1040,7 @@ { JNIEntry(SVNClient, diff); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); JNIStringHolder target1(jtarget1); if (JNIUtil::isExceptionThrown()) return; @@ -1231,11 +1087,7 @@ { JNIEntry(SVNClient, diff); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); JNIStringHolder target(jtarget); if (JNIUtil::isExceptionThrown()) return; @@ -1281,11 +1133,7 @@ JNIEntry(SVNClient, diffSummarize); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); JNIStringHolder target1(jtarget1); if (JNIUtil::isExceptionThrown()) return; @@ -1325,11 +1173,7 @@ JNIEntry(SVNClient, diffSummarize); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); JNIStringHolder target(jtarget); if (JNIUtil::isExceptionThrown()) return; @@ -1362,11 +1206,7 @@ { JNIEntry(SVNClient, streamFileContent); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); JNIStringHolder path(jpath); if (JNIUtil::isExceptionThrown()) return; @@ -1393,11 +1233,7 @@ { JNIEntry(SVNClient, getVersionInfo); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return NULL; - } + CPPADDR_NULL_PTR(cl, NULL); JNIStringHolder path(jpath); if (JNIUtil::isExceptionThrown()) return NULL; @@ -1411,11 +1247,7 @@ { JNIEntry(SVNClient, upgrade); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); JNIStringHolder path(jpath); if (JNIUtil::isExceptionThrown()) return; @@ -1472,11 +1304,7 @@ { JNIEntry(SVNClient, relocate); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); JNIStringHolder from(jfrom); if (JNIUtil::isExceptionThrown()) return; @@ -1501,11 +1329,7 @@ { JNIEntry(SVNClient, blame); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); JNIStringHolder path(jpath); if (JNIUtil::isExceptionThrown()) return; @@ -1534,11 +1358,7 @@ { JNIEntry(SVNClient, setConfigDirectory); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return; - } + CPPADDR_NULL_PTR(cl, ); JNIStringHolder configDir(jconfigDir); if (JNIUtil::isExceptionThrown()) @@ -1553,11 +1373,7 @@ { JNIEntry(SVNClient, getConfigDirectory); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError(_("bad C++ this")); - return NULL; - } + CPPADDR_NULL_PTR(cl, NULL); const char *configDir = cl->getClientContext().getConfigDirectory(); return JNIUtil::makeJString(configDir); @@ -1569,11 +1385,7 @@ { JNIEntry(SVNClient, cancelOperation); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError("bad C++ this"); - return; - } + CPPADDR_NULL_PTR(cl, ); cl->getClientContext().cancelOperation(); } @@ -1584,11 +1396,7 @@ { JNIEntry(SVNClient, addToChangelist); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError("bad C++ this"); - return; - } + CPPADDR_NULL_PTR(cl, ); SVN::Pool tmpPool; StringArray targetsArr(jtargets); Targets targets(targetsArr, tmpPool); @@ -1614,11 +1422,7 @@ { JNIEntry(SVNClient, removeFromChangelist); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError("bad C++ this"); - return; - } + CPPADDR_NULL_PTR(cl, ); SVN::Pool tmpPool; StringArray targetsArr(jtargets); Targets targets(targetsArr, tmpPool); @@ -1639,11 +1443,7 @@ { JNIEntry(SVNClient, getChangelist); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError("bad C++ this"); - return; - } + CPPADDR_NULL_PTR(cl, ); JNIStringHolder root_path(jroot_path); if (JNIUtil::isExceptionThrown()) @@ -1665,11 +1465,7 @@ { JNIEntry(SVNClient, lock); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError("bad C++ this"); - return; - } + CPPADDR_NULL_PTR(cl, ); SVN::Pool tmpPool; StringArray targetsArr(jtargets); Targets targets(targetsArr, tmpPool); @@ -1689,11 +1485,7 @@ { JNIEntry(SVNClient, unlock); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError("bad C++ this"); - return; - } + CPPADDR_NULL_PTR(cl, ); SVN::Pool tmpPool; StringArray targetsArr(jtargets); @@ -1713,11 +1505,7 @@ { JNIEntry(SVNClient, info2); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError("bad C++ this"); - return; - } + CPPADDR_NULL_PTR(cl, ); JNIStringHolder path(jpath); if (JNIUtil::isExceptionThrown()) return; @@ -1747,11 +1535,7 @@ { JNIEntry(SVNClient, patch); SVNClient *cl = SVNClient::getCppObject(jthis); - if (cl == NULL) - { - JNIUtil::throwError("bad C++ this"); - return; - } + CPPADDR_NULL_PTR(cl, ); JNIStringHolder patchPath(jpatchPath); if (JNIUtil::isExceptionThrown())