diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-08-05 16:22:51 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-08-05 16:22:51 +0000 |
commit | cf46733632c7279a9fd0fe6ce26f9185a4ae82a9 (patch) | |
tree | da27775a2161723ef342e91af41a8b51fedef405 /subversion/libsvn_delta/path_driver.c | |
parent | bb0ef45f7c46b0ae221b26265ef98a768c33f820 (diff) | |
download | subversion-tarball-master.tar.gz |
subversion-1.9.7HEADsubversion-1.9.7master
Diffstat (limited to 'subversion/libsvn_delta/path_driver.c')
-rw-r--r-- | subversion/libsvn_delta/path_driver.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/subversion/libsvn_delta/path_driver.c b/subversion/libsvn_delta/path_driver.c index 62e703a..c1f3e07 100644 --- a/subversion/libsvn_delta/path_driver.c +++ b/subversion/libsvn_delta/path_driver.c @@ -32,6 +32,7 @@ #include "svn_path.h" #include "svn_sorts.h" #include "private/svn_fspath.h" +#include "private/svn_sorts_private.h" /*** Helper functions. ***/ @@ -157,8 +158,7 @@ svn_delta_path_driver2(const svn_delta_editor_t *editor, if (sort_paths && paths->nelts > 1) { apr_array_header_t *sorted = apr_array_copy(subpool, paths); - qsort(sorted->elts, sorted->nelts, sorted->elt_size, - svn_sort_compare_paths); + svn_sort__array(sorted, svn_sort_compare_paths); paths = sorted; } @@ -187,7 +187,7 @@ svn_delta_path_driver2(const svn_delta_editor_t *editor, driving the editor. */ for (; i < paths->nelts; i++) { - const char *pdir, *bname; + const char *pdir; const char *common = ""; size_t common_len; @@ -224,9 +224,10 @@ svn_delta_path_driver2(const svn_delta_editor_t *editor, /*** Step C - Open any directories between the common ancestor and the parent of the current path. ***/ if (*path == '/') - svn_fspath__split(&pdir, &bname, path, iterpool); + pdir = svn_fspath__dirname(path, iterpool); else - svn_relpath_split(&pdir, &bname, path, iterpool); + pdir = svn_relpath_dirname(path, iterpool); + if (strlen(pdir) > common_len) { const char *piece = pdir + common_len + 1; |