[PATCH v2] CMD: Always keep drive letter uppercase.

Gareth Poole girpoole at gmail.com
Sat Aug 8 12:16:53 CDT 2020


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 at 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;
 
-- 
2.27.0




More information about the wine-devel mailing list