From 594a0dccce69f2e677f5958dcd11dbdc25ce0b2e Mon Sep 17 00:00:00 2001 From: Uwe Bonnes Date: Thu, 15 Jun 2000 00:30:26 +0000 Subject: [PATCH] GetFullPathName: get "drive" value too for absolute paths. --- files/dos_fs.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/files/dos_fs.c b/files/dos_fs.c index 5570241fd79..0d1263ee61c 100644 --- a/files/dos_fs.c +++ b/files/dos_fs.c @@ -1109,9 +1109,10 @@ static DWORD DOSFS_DoGetFullPathName( LPCSTR name, DWORD len, LPSTR result, } 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 @@ static DWORD DOSFS_DoGetFullPathName( LPCSTR name, DWORD len, LPSTR result, /* 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);