Index: subversion/bindings/javahl/native/CopySources.cpp =================================================================== --- subversion/bindings/javahl/native/CopySources.cpp (revision 24543) +++ subversion/bindings/javahl/native/CopySources.cpp (working copy) @@ -27,10 +27,12 @@ #include "JNIStringHolder.h" #include "Revision.h" #include "CopySources.h" - +#include +using namespace std; CopySources::CopySources(jobjectArray jcopySources) { m_copySources = jcopySources; + m_error_occured = NULL; } CopySources::~CopySources() @@ -111,7 +113,14 @@ JNIStringHolder path(jpath); if (JNIUtil::isJavaExceptionThrown()) return NULL; + src->path = apr_pstrdup(pool, (const char *) path); + svn_error_t *err = JNIUtil::preprocessPath(src->path, pool); + if (err) + { + m_error_occured = err; + break; + } env->DeleteLocalRef(jpath); // Extract source revision from the copy source. @@ -159,3 +168,8 @@ return copySources; } + +svn_error_t *CopySources::error_occured() +{ + return m_error_occured; +} Index: subversion/bindings/javahl/native/CopySources.h =================================================================== --- subversion/bindings/javahl/native/CopySources.h (revision 24543) +++ subversion/bindings/javahl/native/CopySources.h (working copy) @@ -60,11 +60,15 @@ static jobject makeJCopySource(const char *path, svn_revnum_t rev, Pool &pool); + svn_error_t *error_occured(); + private: /** * A local reference to the Java CopySources peer. */ jobjectArray m_copySources; + + svn_error_t *m_error_occured; }; #endif /* COPY_SOURCES_H */