On the 'fix-ra-mergeinfo-api' branch, get the tests passing en totale again.fix-ra-mergeinfo-apifix-ra-mergeinfo-api
authorC. Michael Pilato <[email protected]>
Wed, 28 Nov 2007 06:27:01 +0000 (28 06:27 +0000)
committerC. Michael Pilato <[email protected]>
Wed, 28 Nov 2007 06:27:01 +0000 (28 06:27 +0000)
* subversion/libsvn_ra_local/ra_plugin.c
  (svn_ra_local__get_mergeinfo): Fix path math off-by-one error.

* subversion/mod_dav_svn/reports/mergeinfo.c
  (dav_svn__get_mergeinfo_report): Fix path math off-by-one error.

* subversion/svnserve/serve.c
  (get_mergeinfo): Fix path math off-by-one error.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/fix-ra-mergeinfo-api@868182 13f79535-47bb-0310-9956-ffa450edef68

subversion/libsvn_ra_local/ra_plugin.c
subversion/mod_dav_svn/reports/mergeinfo.c
subversion/svnserve/serve.c

index 0ca4c4e..cca1c94 100644 (file)
@@ -688,8 +688,8 @@ svn_ra_local__get_mergeinfo(svn_ra_session_t *session,
           apr_hash_t *for_path;
 
           apr_hash_this(hi, &key, &klen, &value);
-          path = (const char *)key + sess->fs_path->len + 1;
-          path_len = klen - sess->fs_path->len - 1;
+          path = (const char *)key + sess->fs_path->len;
+          path_len = klen - sess->fs_path->len;
           info = value;
           SVN_ERR(svn_mergeinfo_parse(&for_path, info, pool));
           apr_hash_set(*mergeinfo, path, path_len, for_path);
index e21564a..7837fe7 100644 (file)
@@ -144,7 +144,7 @@ dav_svn__get_mergeinfo_report(const dav_resource *resource,
             "</S:" SVN_DAV__MERGEINFO_ITEM ">";
 
           apr_hash_this(hi, &key, NULL, &value);
-          path = (const char *)key + strlen(resource->info->repos_path) + 1;
+          path = (const char *)key + strlen(resource->info->repos_path);
           info = value;
           serr = dav_svn__send_xml(bb, output, itemformat,
                                    apr_xml_quote_string(resource->pool,
index 1bd7eee..094ca1b 100644 (file)
@@ -1509,7 +1509,7 @@ static svn_error_t *get_mergeinfo(svn_ra_svn_conn_t *conn, apr_pool_t *pool,
       for (hi = apr_hash_first(pool, mergeinfo); hi; hi = apr_hash_next(hi))
         {
           apr_hash_this(hi, &key, NULL, &value);
-          path = (const char *)key + b->fs_path->len + 1;
+          path = (const char *)key + b->fs_path->len;
           info = value;
           SVN_ERR(svn_ra_svn_write_tuple(conn, pool, "(cc)", path, info));
         }