[[[
    JavaHL: Support returning non const, empty rather than NULL hash as
required by (svn_ra_get_commit_editor3) apr_hash_t *revprop_table parameter

    [ in subversion/bindings/javahl/native ]

    * RevpropTable.cpp, RevpropTable.h
      (hash): Removed const qualifier and added bool nullIfEmpty parameter
to specify whether empty hash or NULL should be returned
]]]
Index: subversion/bindings/javahl/native/RevpropTable.cpp
===================================================================
--- subversion/bindings/javahl/native/RevpropTable.cpp  (revision 1328758)
+++ subversion/bindings/javahl/native/RevpropTable.cpp  (working copy)
@@ -41,9 +41,9 @@ RevpropTable::~RevpropTable()
     JNIUtil::getEnv()->DeleteLocalRef(m_revpropTable);
 }
 
-const apr_hash_t *RevpropTable::hash(const SVN::Pool &pool)
+apr_hash_t *RevpropTable::hash(const SVN::Pool &pool, bool nullIfEmpty)
 {
-  if (m_revprops.size() == 0)
+  if (m_revprops.size() == 0 && nullIfEmpty)
     return NULL;
 
   apr_hash_t *revprop_table = apr_hash_make(pool.getPool());
Index: subversion/bindings/javahl/native/RevpropTable.h
===================================================================
--- subversion/bindings/javahl/native/RevpropTable.h    (revision 1328758)
+++ subversion/bindings/javahl/native/RevpropTable.h    (working copy)
@@ -44,7 +44,7 @@ class RevpropTable
  public:
   RevpropTable(jobject jrevpropTable);
   ~RevpropTable();
-  const apr_hash_t *hash(const SVN::Pool &pool);
+  apr_hash_t *hash(const SVN::Pool &pool, bool nullIfEmpty = true);
 };
 
 #endif // REVPROPTABLE_H

Reply via email to