summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2018-07-02 12:25:45 -0700
committerEdward Thomson <ethomson@edwardthomson.com>2018-10-20 05:50:20 -0700
commit7b6875f425a0a7acfc776cf213da4b200e9bb6e9 (patch)
tree967e69ebe0f755415fcec24fe1c7eec215001e28
parent307712613b77e8290a2c5d08ef3ae81c1e3139f3 (diff)
downloadlibgit2-7b6875f425a0a7acfc776cf213da4b200e9bb6e9.tar.gz
checkout tests: don't use GetFinalPathNameByHandle
To determine the canonical filename for a given path, we previously looked at the directory entries on POSIX systems and used GetFinalPathNameByHandle on Windows. However, GetFinalPathNameByHandle requires a HANDLE - the results of CreateFile - and you cannot CreateFile on a symbolic link. To support finding the canonical path of a symbolic link, simply use the existing POSIX code to look at the directory entries.
-rw-r--r--tests/checkout/icase.c24
1 files changed, 0 insertions, 24 deletions
diff --git a/tests/checkout/icase.c b/tests/checkout/icase.c
index 560c1ad86..d804d086e 100644
--- a/tests/checkout/icase.c
+++ b/tests/checkout/icase.c
@@ -44,29 +44,6 @@ void test_checkout_icase__cleanup(void)
static char *get_filename(const char *in)
{
-#ifdef GIT_WIN32
- HANDLE fh;
- HMODULE kerneldll;
- char *filename;
-
- typedef DWORD (__stdcall *getfinalpathname)(HANDLE, LPSTR, DWORD, DWORD);
- getfinalpathname getfinalpathfn;
-
- cl_assert(filename = malloc(MAX_PATH));
- cl_assert(kerneldll = LoadLibrary("kernel32.dll"));
- cl_assert(getfinalpathfn = (getfinalpathname)GetProcAddress(kerneldll, "GetFinalPathNameByHandleA"));
-
- cl_assert(fh = CreateFileA(in, FILE_READ_ATTRIBUTES | STANDARD_RIGHTS_READ, FILE_SHARE_READ,
- NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL));
-
- cl_win32_pass(getfinalpathfn(fh, filename, MAX_PATH, VOLUME_NAME_DOS));
-
- CloseHandle(fh);
-
- git_path_mkposix(filename);
-
- return filename;
-#else
char *search_dirname, *search_filename, *filename = NULL;
git_buf out = GIT_BUF_INIT;
DIR *dir;
@@ -92,7 +69,6 @@ static char *get_filename(const char *in)
git_buf_dispose(&out);
return filename;
-#endif
}
static void assert_name_is(const char *expected)