summaryrefslogtreecommitdiff
path: root/src/win32/w32_util.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/win32/w32_util.c')
-rw-r--r--src/win32/w32_util.c68
1 files changed, 0 insertions, 68 deletions
diff --git a/src/win32/w32_util.c b/src/win32/w32_util.c
index b7b1ffa10..5996c9fb9 100644
--- a/src/win32/w32_util.c
+++ b/src/win32/w32_util.c
@@ -93,71 +93,3 @@ int git_win32__hidden(bool *out, const char *path)
*out = (attrs & FILE_ATTRIBUTE_HIDDEN) ? true : false;
return 0;
}
-
-/**
- * Removes any trailing backslashes from a path, except in the case of a drive
- * letter path (C:\, D:\, etc.). This function cannot fail.
- *
- * @param path The path which should be trimmed.
- * @return The length of the modified string (<= the input length)
- */
-size_t git_win32__path_trim_end(wchar_t *str, size_t len)
-{
- while (1) {
- if (!len || str[len - 1] != L'\\')
- break;
-
- /* Don't trim backslashes from drive letter paths, which
- * are 3 characters long and of the form C:\, D:\, etc. */
- if (len == 3 && git_win32__isalpha(str[0]) && str[1] == ':')
- break;
-
- len--;
- }
-
- str[len] = L'\0';
-
- return len;
-}
-
-/**
- * Removes any of the following namespace prefixes from a path,
- * if found: "\??\", "\\?\", "\\?\UNC\". This function cannot fail.
- *
- * @param path The path which should be converted.
- * @return The length of the modified string (<= the input length)
- */
-size_t git_win32__canonicalize_path(wchar_t *str, size_t len)
-{
- static const wchar_t dosdevices_prefix[] = L"\\\?\?\\";
- static const wchar_t nt_prefix[] = L"\\\\?\\";
- static const wchar_t unc_prefix[] = L"UNC\\";
- size_t to_advance = 0;
-
- /* "\??\" -- DOS Devices prefix */
- if (len >= CONST_STRLEN(dosdevices_prefix) &&
- !wcsncmp(str, dosdevices_prefix, CONST_STRLEN(dosdevices_prefix))) {
- to_advance += CONST_STRLEN(dosdevices_prefix);
- len -= CONST_STRLEN(dosdevices_prefix);
- }
- /* "\\?\" -- NT namespace prefix */
- else if (len >= CONST_STRLEN(nt_prefix) &&
- !wcsncmp(str, nt_prefix, CONST_STRLEN(nt_prefix))) {
- to_advance += CONST_STRLEN(nt_prefix);
- len -= CONST_STRLEN(nt_prefix);
- }
-
- /* "\??\UNC\", "\\?\UNC\" -- UNC prefix */
- if (to_advance && len >= CONST_STRLEN(unc_prefix) &&
- !wcsncmp(str + to_advance, unc_prefix, CONST_STRLEN(unc_prefix))) {
- to_advance += CONST_STRLEN(unc_prefix);
- len -= CONST_STRLEN(unc_prefix);
- }
-
- if (to_advance) {
- memmove(str, str + to_advance, len * sizeof(wchar_t));
- str[len] = L'\0';
- }
-
- return git_win32__path_trim_end(str, len);
-}