From: Theo Niessink Date: Wed, 8 Jun 2011 12:04:41 +0000 (+0200) Subject: verify_dotfile(): do not assume '/' is the path seperator X-Git-Tag: v1.7.7-rc0~117^2 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=e0f530ff8afbd252170f57e70a8609a83a7cabe1;p=git.git verify_dotfile(): do not assume '/' is the path seperator verify_dotfile() currently assumes that the path seperator is '/', but on Windows it can also be '\\', so use is_dir_sep() instead. Signed-off-by: Theo Niessink Signed-off-by: Junio C Hamano --- diff --git a/read-cache.c b/read-cache.c index 3593291f7..e7c968421 100644 --- a/read-cache.c +++ b/read-cache.c @@ -747,11 +747,12 @@ static int verify_dotfile(const char *rest) * has already been discarded, we now test * the rest. */ - switch (*rest) { + /* "." is not allowed */ - case '\0': case '/': + if (*rest == '\0' || is_dir_sep(*rest)) return 0; + switch (*rest) { /* * ".git" followed by NUL or slash is bad. This * shares the path end test with the ".." case. @@ -764,7 +765,7 @@ static int verify_dotfile(const char *rest) rest += 2; /* fallthrough */ case '.': - if (rest[1] == '\0' || rest[1] == '/') + if (rest[1] == '\0' || is_dir_sep(rest[1])) return 0; } return 1;