Do not check if getcwd() result begins with a slash.
authorJunio C Hamano <gitster@pobox.com>
Wed, 4 Jul 2007 19:45:42 +0000 (12:45 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 4 Jul 2007 19:45:42 +0000 (12:45 -0700)
In user space, and for getcwd(), the check to see if the
resulting path begins with a '/' does not make sense.  This is
merely a mistake by Linus who is so used to code for the kernel,
where a d_path() return value pathname can be either a real
path, or something like "pipe:[8003]", and the difference is the
'/' at the beginning.

Pointed out by Dscho, Matthias Lederhofer and clarified by Linus.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
setup.c

diff --git a/setup.c b/setup.c
index 01f74d4..bb26f3a 100644 (file)
--- a/setup.c
+++ b/setup.c
@@ -211,7 +211,7 @@ const char *setup_git_directory_gently(int *nongit_ok)
        if (!gitdirenv) {
                int len, offset;
 
-               if (!getcwd(cwd, sizeof(cwd)-1) || cwd[0] != '/')
+               if (!getcwd(cwd, sizeof(cwd)-1))
                        die("Unable to read current working directory");
 
                offset = len = strlen(cwd);
@@ -271,7 +271,7 @@ const char *setup_git_directory_gently(int *nongit_ok)
                die("Not a git repository: '%s'", gitdirenv);
        }
 
-       if (!getcwd(cwd, sizeof(cwd)-1) || cwd[0] != '/')
+       if (!getcwd(cwd, sizeof(cwd)-1))
                die("Unable to read current working directory");
        if (chdir(gitdirenv)) {
                if (nongit_ok) {
@@ -281,7 +281,7 @@ const char *setup_git_directory_gently(int *nongit_ok)
                die("Cannot change directory to $%s '%s'",
                        GIT_DIR_ENVIRONMENT, gitdirenv);
        }
-       if (!getcwd(gitdir, sizeof(gitdir)-1) || gitdir[0] != '/')
+       if (!getcwd(gitdir, sizeof(gitdir)-1))
                die("Unable to read current working directory");
        if (chdir(cwd))
                die("Cannot come back to cwd");
@@ -340,7 +340,7 @@ const char *setup_git_directory_gently(int *nongit_ok)
                        die("Cannot change directory to working tree '%s'",
                                gitworktree);
        }
-       if (!getcwd(worktree, sizeof(worktree)-1) || worktree[0] != '/')
+       if (!getcwd(worktree, sizeof(worktree)-1))
                die("Unable to read current working directory");
        strcat(worktree, "/");
        inside_work_tree = !prefixcmp(cwd, worktree);