login
Header Space

 
 

[PATCH 4/4] Eliminate an unnecessary chdir("..")

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <git@...>
Date: Tuesday, May 20, 2008 - 2:49 am

In the case where setup_git_directory_gently fails, avoid the last
chdir("..") by moving it after the ceil_offset check.

Signed-off-by: David Reiss <dreiss@facebook.com>
---
Johannes originally asked me to squash this, then asked me to keep the
patch minimal.  I'm including it here in case anyone else thinks it should
go in.  It should be harmless because getcwd is not called in the loop,
and any nonlocal exit from the loop is either a "die" or does a chdir
to cwd, which is an absolute path.

 setup.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/setup.c b/setup.c
index c14b106..045ca20 100644
--- a/setup.c
+++ b/setup.c
@@ -446,7 +446,6 @@ const char *setup_git_directory_gently(int *nongit_ok)
 			check_repository_format_gently(nongit_ok);
 			return NULL;
 		}
-		chdir("..");
 		while (--offset > ceil_offset && cwd[offset] != '/');
 		if (offset <= ceil_offset) {
 			if (nongit_ok) {
@@ -457,6 +456,7 @@ const char *setup_git_directory_gently(int *nongit_ok)
 			}
 			die("Not a git repository");
 		}
+		chdir("..");
 	}
 
 	inside_git_dir = 0;
-- 
1.5.4

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 4/4] Eliminate an unnecessary chdir(".."), David Reiss, (Tue May 20, 2:49 am)
speck-geostationary