diriter: don't double '/' on posix

The canonical directory path of the root directory of a volume on
POSIX already ends in a slash (eg, `/`).  This is true only at the
root.  Do not add a slash to paths in this case.
This commit is contained in:
Edward Thomson 2015-09-13 14:18:08 -04:00
parent 5a466befaf
commit 9d905541bf

View File

@ -1319,7 +1319,11 @@ int git_path_diriter_next(git_path_diriter *diriter)
#endif
git_buf_truncate(&diriter->path, diriter->parent_len);
git_buf_putc(&diriter->path, '/');
if (diriter->parent_len > 0 &&
diriter->path.ptr[diriter->parent_len-1] != '/')
git_buf_putc(&diriter->path, '/');
git_buf_put(&diriter->path, filename, filename_len);
if (git_buf_oom(&diriter->path))