From 01d7fded1b233b6a8fcfeec4eaf00b7dc9cc7316 Mon Sep 17 00:00:00 2001 From: Vicent Marti Date: Thu, 22 Sep 2011 20:44:30 +0300 Subject: [PATCH] Revert "Rewrite getenv to use Win32 version on Windows" This reverts commit e1b86444676b70154bf8ab450d429bdef57a8276. --- src/config.c | 12 ++++-------- src/posix.c | 9 --------- src/posix.h | 1 - src/win32/posix_w32.c | 24 ------------------------ tests/t15-config.c | 4 ++-- tests/t16-remotes.c | 8 ++++---- 6 files changed, 10 insertions(+), 48 deletions(-) diff --git a/src/config.c b/src/config.c index e34acba9a..0ec710036 100644 --- a/src/config.c +++ b/src/config.c @@ -312,24 +312,20 @@ int git_config_get_string(git_config *cfg, const char *name, const char **out) int git_config_find_global(char *global_config_path) { - char *home; + const char *home; - home = p_getenv("HOME"); + home = getenv("HOME"); #ifdef GIT_WIN32 if (home == NULL) - home = p_getenv("USERPROFILE"); + home = getenv("USERPROFILE"); #endif - if (home == NULL) { - free(home); + if (home == NULL) return git__throw(GIT_EOSERR, "Failed to open global config file. Cannot locate the user's home directory"); - } git_path_join(global_config_path, home, GIT_CONFIG_FILENAME); - free(home); - if (git_futils_exists(global_config_path) < GIT_SUCCESS) return git__throw(GIT_EOSERR, "Failed to open global config file. The file does not exist"); diff --git a/src/posix.c b/src/posix.c index fb8ce37cb..1b85b053d 100644 --- a/src/posix.c +++ b/src/posix.c @@ -39,15 +39,6 @@ int p_getcwd(char *buffer_out, size_t size) return GIT_SUCCESS; } -char* p_getenv(const char* name) -{ - char* buf = getenv(name); - if (!buf) - return buf; - - return git__strdup(buf); -} - #endif int p_read(git_file fd, void *buf, size_t cnt) diff --git a/src/posix.h b/src/posix.h index 497e21fb7..59bec2794 100644 --- a/src/posix.h +++ b/src/posix.h @@ -44,7 +44,6 @@ extern int p_write(git_file fd, const void *buf, size_t cnt); extern int p_open(const char *path, int flags); extern int p_creat(const char *path, int mode); extern int p_getcwd(char *buffer_out, size_t size); -extern char* p_getenv(const char* name); #ifndef GIT_WIN32 diff --git a/src/win32/posix_w32.c b/src/win32/posix_w32.c index 228897d80..cc17cc71f 100644 --- a/src/win32/posix_w32.c +++ b/src/win32/posix_w32.c @@ -370,30 +370,6 @@ int p_mkstemp(char *tmp_path) return p_creat(tmp_path, 0744); } -char* p_getenv(const char* name) -{ - wchar_t* buf; - wchar_t* name_w = conv_utf8_to_utf16(name); - char* ret; - DWORD len; - - len = GetEnvironmentVariableW(name_w, NULL, 0); - if (len == 0) { - free(name_w); - return NULL; - } - - len++; /* Null Terminator */ - buf = malloc(sizeof(wchar_t) * len); - GetEnvironmentVariableW(name_w, buf, len); - - ret = conv_utf16_to_utf8(buf); - - free(name_w); - free(buf); - return ret; -} - int p_setenv(const char* name, const char* value, int overwrite) { if (overwrite != 1) diff --git a/tests/t15-config.c b/tests/t15-config.c index b959cc95a..ac2d79cfd 100644 --- a/tests/t15-config.c +++ b/tests/t15-config.c @@ -235,7 +235,7 @@ BEGIN_TEST(config10, "a repo's config overrides the global config") int version; char *old_home; - old_home = p_getenv("HOME"); + old_home = git__strdup(getenv("HOME")); p_setenv("HOME", CONFIG_BASE, 1); must_pass(git_repository_open(&repo, REPOSITORY_FOLDER)); @@ -255,7 +255,7 @@ BEGIN_TEST(config11, "fall back to the global config") int num; char *old_home; - old_home = p_getenv("HOME"); + old_home = git__strdup(getenv("HOME")); p_setenv("HOME", CONFIG_BASE, 1); must_pass(git_repository_open(&repo, REPOSITORY_FOLDER)); diff --git a/tests/t16-remotes.c b/tests/t16-remotes.c index b76557fb4..af54f297d 100644 --- a/tests/t16-remotes.c +++ b/tests/t16-remotes.c @@ -34,7 +34,7 @@ BEGIN_TEST(remotes0, "remote parsing works") git_config *cfg; char *old_home; - old_home = p_getenv("HOME"); + old_home = git__strdup(getenv("HOME")); p_setenv("HOME", "/dev/null", 1); must_pass(git_repository_open(&repo, REPOSITORY_FOLDER)); @@ -58,7 +58,7 @@ BEGIN_TEST(refspec0, "remote with refspec works") const git_refspec *refspec = NULL; char *old_home; - old_home = p_getenv("HOME"); + old_home = git__strdup(getenv("HOME")); p_setenv("HOME", "/dev/null", 1); must_pass(git_repository_open(&repo, REPOSITORY_FOLDER)); @@ -83,7 +83,7 @@ BEGIN_TEST(refspec1, "remote fnmatch works as expected") const git_refspec *refspec = NULL; char *old_home; - old_home = p_getenv("HOME"); + old_home = git__strdup(getenv("HOME")); p_setenv("HOME", "/dev/null", 1); must_pass(git_repository_open(&repo, REPOSITORY_FOLDER)); @@ -109,7 +109,7 @@ BEGIN_TEST(refspec2, "refspec transform") char ref[1024] = {0}; char *old_home; - old_home = p_getenv("HOME"); + old_home = git__strdup(getenv("HOME")); p_setenv("HOME", "/dev/null", 1); must_pass(git_repository_open(&repo, REPOSITORY_FOLDER));