зеркало из https://github.com/microsoft/git.git
make_absolute_path(): Do not append redundant slash
When concatenating two paths, if the first one already have '/', do not put another '/' in between the two paths. Usually this is not the case as getcwd() won't return '/foo/bar/', except when you are standing at root, then it will return '/'. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
4133fd2552
Коммит
ed0cb46ebb
|
@ -54,8 +54,9 @@ const char *make_absolute_path(const char *path)
|
||||||
if (len + strlen(last_elem) + 2 > PATH_MAX)
|
if (len + strlen(last_elem) + 2 > PATH_MAX)
|
||||||
die ("Too long path name: '%s/%s'",
|
die ("Too long path name: '%s/%s'",
|
||||||
buf, last_elem);
|
buf, last_elem);
|
||||||
buf[len] = '/';
|
if (len && buf[len-1] != '/')
|
||||||
strcpy(buf + len + 1, last_elem);
|
buf[len++] = '/';
|
||||||
|
strcpy(buf + len, last_elem);
|
||||||
free(last_elem);
|
free(last_elem);
|
||||||
last_elem = NULL;
|
last_elem = NULL;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче