diff options
Diffstat (limited to 'subversion/bindings/javahl/native/CommitMessage.cpp')
-rw-r--r-- | subversion/bindings/javahl/native/CommitMessage.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/subversion/bindings/javahl/native/CommitMessage.cpp b/subversion/bindings/javahl/native/CommitMessage.cpp index a947f97..51bd83d 100644 --- a/subversion/bindings/javahl/native/CommitMessage.cpp +++ b/subversion/bindings/javahl/native/CommitMessage.cpp @@ -65,6 +65,7 @@ CommitMessage::getCommitMessage(const char **log_msg, const apr_array_header_t *commit_items, apr_pool_t *pool) { + *log_msg = NULL; *tmp_file = NULL; JNIEnv *env = JNIUtil::getEnv(); @@ -72,7 +73,7 @@ CommitMessage::getCommitMessage(const char **log_msg, static jmethodID midCallback = 0; if (midCallback == 0) { - jclass clazz2 = env->FindClass(JAVA_PACKAGE"/callback/CommitMessageCallback"); + jclass clazz2 = env->FindClass(JAVAHL_CLASS("/callback/CommitMessageCallback")); if (JNIUtil::isJavaExceptionThrown()) return SVN_NO_ERROR; @@ -93,6 +94,9 @@ CommitMessage::getCommitMessage(const char **log_msg, jobject jitem = CreateJ::CommitItem(item); + if (!jitem) + return SVN_NO_ERROR; /* Exception thrown */ + // store the Java object into the array jitems.push_back(jitem); } @@ -102,7 +106,7 @@ CommitMessage::getCommitMessage(const char **log_msg, midCallback, CreateJ::Set(jitems)); if (JNIUtil::isJavaExceptionThrown()) - return SVN_NO_ERROR; + POP_AND_RETURN_EXCEPTION_AS_SVNERROR(); if (jmessage != NULL) { |