summaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorJohannes Schindelin <johannes.schindelin@gmx.de>2019-12-04 20:40:01 (GMT)
committerJohannes Schindelin <johannes.schindelin@gmx.de>2019-12-06 15:27:20 (GMT)
commit68440496c77c6d3a606537c78ea4b62eb895a64a (patch)
tree4f5d058cbe40ecbf173b275fe56d4ba1ca138110 /t
parent9ac92fed5b63176e653c3c42e2b66cdd203c906f (diff)
downloadgit-68440496c77c6d3a606537c78ea4b62eb895a64a.zip
git-68440496c77c6d3a606537c78ea4b62eb895a64a.tar.gz
git-68440496c77c6d3a606537c78ea4b62eb895a64a.tar.bz2
test-drop-caches: use `has_dos_drive_prefix()`
This is a companion patch to 'mingw: handle `subst`-ed "DOS drives"': use the DOS drive prefix handling that is already provided by `compat/mingw.c` (and which just learned to handle non-alphabetical "drive letters"). Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Diffstat (limited to 't')
-rw-r--r--t/helper/test-drop-caches.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/t/helper/test-drop-caches.c b/t/helper/test-drop-caches.c
index bd1a857..f125192 100644
--- a/t/helper/test-drop-caches.c
+++ b/t/helper/test-drop-caches.c
@@ -6,18 +6,21 @@ static int cmd_sync(void)
{
char Buffer[MAX_PATH];
DWORD dwRet;
- char szVolumeAccessPath[] = "\\\\.\\X:";
+ char szVolumeAccessPath[] = "\\\\.\\XXXX:";
HANDLE hVolWrite;
- int success = 0;
+ int success = 0, dos_drive_prefix;
dwRet = GetCurrentDirectory(MAX_PATH, Buffer);
if ((0 == dwRet) || (dwRet > MAX_PATH))
return error("Error getting current directory");
- if ((Buffer[0] < 'A') || (Buffer[0] > 'Z'))
- return error("Invalid drive letter '%c'", Buffer[0]);
+ dos_drive_prefix = has_dos_drive_prefix(Buffer);
+ if (!dos_drive_prefix)
+ return error("'%s': invalid drive letter", Buffer);
+
+ memcpy(szVolumeAccessPath, Buffer, dos_drive_prefix);
+ szVolumeAccessPath[dos_drive_prefix] = '\0';
- szVolumeAccessPath[4] = Buffer[0];
hVolWrite = CreateFile(szVolumeAccessPath, GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
if (INVALID_HANDLE_VALUE == hVolWrite)