Windows and DOS before it has always kept the drive letter in uppercase at the command line, regardless of what input it is given. Since drive letters are case-insensitive this should not affect path resolution, but it is more consistent with both the behaviour of Windows, and the behaviour that Wine CMD already displays with directory names, which it shows in their canonical case.
Signed-off-by: Gareth Poole girpoole@gmail.com --- programs/cmd/wcmdmain.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/programs/cmd/wcmdmain.c b/programs/cmd/wcmdmain.c index 97cc607a64..a442046cea 100644 --- a/programs/cmd/wcmdmain.c +++ b/programs/cmd/wcmdmain.c @@ -392,12 +392,14 @@ static void WCMD_show_prompt (BOOL newLine) { break; case 'N': status = GetCurrentDirectoryW(ARRAY_SIZE(curdir), curdir); + curdir[0] = toupper(curdir[0]); if (status) { *q++ = curdir[0]; } break; case 'P': status = GetCurrentDirectoryW(ARRAY_SIZE(curdir), curdir); + curdir[0] = toupper(curdir[0]); if (status) { lstrcatW (q, curdir); while (*q) q++; @@ -1384,6 +1386,7 @@ void WCMD_execute (const WCHAR *command, const WCHAR *redirects, WCHAR envvar[5]; WCHAR dir[MAX_PATH];
+ cmd[0] = toupper(cmd[0]); /* Ignore potential garbage on the same line */ cmd[2]=0x00;