Skip to content

Commit

Permalink
make_absolute_path(): Do not append redundant slash
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
pclouds authored and gitster committed Feb 14, 2010
1 parent 4133fd2 commit ed0cb46
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions abspath.c
Expand Up @@ -54,8 +54,9 @@ const char *make_absolute_path(const char *path)
if (len + strlen(last_elem) + 2 > PATH_MAX)
die ("Too long path name: '%s/%s'",
buf, last_elem);
buf[len] = '/';
strcpy(buf + len + 1, last_elem);
if (len && buf[len-1] != '/')
buf[len++] = '/';
strcpy(buf + len, last_elem);
free(last_elem);
last_elem = NULL;
}
Expand Down

0 comments on commit ed0cb46

Please sign in to comment.