diff options
author | Clemens Buchacher <drizzd@aon.at> | 2010-05-22 13:13:05 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-05-28 15:02:50 -0700 |
commit | 490544b1282416a033dc25481db205248ac0bfc8 (patch) | |
tree | c577a1d7844e2a39bcf2ba5577ad1bba9b1a08f9 /dir.c | |
parent | e498257d650529812ffe1872b3cd62e2bd604287 (diff) | |
download | git-490544b1282416a033dc25481db205248ac0bfc8.tar.gz git-490544b1282416a033dc25481db205248ac0bfc8.tar.xz |
get_cwd_relative(): do not misinterpret suffix as subdirectory
If the current working directory is the same as the work tree path
plus a suffix, e.g. 'work' and 'work-xyz', then the suffix '-xyz'
would be interpreted as a subdirectory of 'work'.
Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'dir.c')
-rw-r--r-- | dir.c | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -958,9 +958,14 @@ char *get_relative_cwd(char *buffer, int size, const char *dir) } if (*dir) return NULL; - if (*cwd == '/') + switch (*cwd) { + case '\0': + return cwd; + case '/': return cwd + 1; - return cwd; + default: + return NULL; + } } int is_inside_dir(const char *dir) |