kernel32-GetFinalPathNameByHandle: Fix possible issues if GetVolumePathNameW changes upper/lowercase of characters.

This commit is contained in:
Sebastian Lackner 2014-09-01 23:34:01 +02:00
parent c51df83deb
commit e272c49cd8

View File

@ -1,4 +1,4 @@
From 5301ca38d5f079f106616c2f629464de101bd8aa Mon Sep 17 00:00:00 2001
From 92e7f9f4ea656ac7d33c33977a718ec651b5e6e8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Tue, 12 Aug 2014 20:24:14 +0200
Subject: kernel32: Implement GetFinalPathNameByHandle.
@ -10,7 +10,7 @@ Subject: kernel32: Implement GetFinalPathNameByHandle.
3 files changed, 192 insertions(+)
diff --git a/dlls/kernel32/file.c b/dlls/kernel32/file.c
index 412659b..eb17abb 100644
index 412659b..56366b0 100644
--- a/dlls/kernel32/file.c
+++ b/dlls/kernel32/file.c
@@ -2810,3 +2810,185 @@ DWORD WINAPI K32GetDeviceDriverFileNameW(void *image_base, LPWSTR file_name, DWO
@ -88,7 +88,7 @@ index 412659b..eb17abb 100644
+ drive_part_len = strlenW(drive_part);
+ if (!drive_part_len || drive_part_len > strlenW(info->Name.Buffer) ||
+ drive_part[drive_part_len-1] != '\\' ||
+ memcmp( info->Name.Buffer, drive_part, drive_part_len * sizeof(WCHAR) ))
+ strncmpiW( info->Name.Buffer, drive_part, drive_part_len ))
+ {
+ FIXME("Path %s returned by GetVolumePathNameW does not match file path %s\n",
+ debugstr_w(drive_part), debugstr_w(info->Name.Buffer));
@ -233,5 +233,5 @@ index 02bbbd4..0ccf9e9 100644
}
#endif
--
1.8.3.2
2.1.0