GetFullPathName: get "drive" value too for absolute paths.
diff --git a/files/dos_fs.c b/files/dos_fs.c
index 5570241..0d1263e 100644
--- a/files/dos_fs.c
+++ b/files/dos_fs.c
@@ -1109,9 +1109,10 @@
}
if ((strlen(name) >2)&& (name[1]==':') &&
((name[2]=='\\') || (name[2]=='/')))
- /*absolue path given */
+ /*absolute path given */
{
lstrcpynA(full_name.short_name,name,MAX_PATHNAME_LEN);
+ drive = (int)toupper(name[0]) - 'A';
}
else
{
@@ -1127,6 +1128,11 @@
/* find path that drive letter substitutes*/
drive = (int)toupper(full_name.short_name[0]) -0x41;
root= DRIVE_GetRoot(drive);
+ if (!root)
+ {
+ FIXME("internal: error getting DOS Drive Root\n");
+ return 0;
+ }
p= full_name.long_name +strlen(root);
/* append long name (= unix name) to drive */
lstrcpynA(full_name.short_name+2,p,MAX_PATHNAME_LEN-3);