tangled
alpha
login
or
join now
huwcampbell.com
/
reactos
0
fork
atom
Reactos
0
fork
atom
overview
issues
pulls
pipelines
[CMD] Convert to explicitly unicode
Timo Kreuzer
2 years ago
c948ea85
cca9acfa
+25
-29
2 changed files
expand all
collapse all
unified
split
base
shell
cmd
console.c
error.c
+14
-18
base/shell/cmd/console.c
reviewed
···
78
78
while (TRUE);
79
79
}
80
80
81
81
-
VOID ConInString(LPTSTR lpInput, DWORD dwLength)
81
81
+
VOID ConInString(LPWSTR lpInput, DWORD dwLength)
82
82
{
83
83
DWORD dwOldMode;
84
84
DWORD dwRead = 0;
85
85
HANDLE hFile;
86
86
87
87
-
LPTSTR p;
87
87
+
LPWSTR p;
88
88
PCHAR pBuf;
89
89
90
90
-
#ifdef _UNICODE
91
90
pBuf = (PCHAR)cmd_alloc(dwLength - 1);
92
92
-
#else
93
93
-
pBuf = lpInput;
94
94
-
#endif
95
95
-
ZeroMemory(lpInput, dwLength * sizeof(TCHAR));
91
91
+
92
92
+
ZeroMemory(lpInput, dwLength * sizeof(WCHAR));
96
93
hFile = GetStdHandle(STD_INPUT_HANDLE);
97
94
GetConsoleMode(hFile, &dwOldMode);
98
95
···
100
97
101
98
ReadFile(hFile, (PVOID)pBuf, dwLength - 1, &dwRead, NULL);
102
99
103
103
-
#ifdef _UNICODE
104
100
MultiByteToWideChar(InputCodePage, 0, pBuf, dwRead, lpInput, dwLength - 1);
105
101
cmd_free(pBuf);
106
106
-
#endif
102
102
+
107
103
for (p = lpInput; *p; p++)
108
104
{
109
109
-
if (*p == _T('\r')) // Terminate at the carriage-return.
105
105
+
if (*p == L'\r') // Terminate at the carriage-return.
110
106
{
111
111
-
*p = _T('\0');
107
107
+
*p = L'\0';
112
108
break;
113
109
}
114
110
}
···
120
116
121
117
/******************** Console STREAM OUT utility functions ********************/
122
118
123
123
-
VOID ConOutChar(TCHAR c)
119
119
+
VOID ConOutChar(WCHAR c)
124
120
{
125
121
ConWrite(StdOut, &c, 1);
126
122
}
127
123
128
128
-
VOID ConErrChar(TCHAR c)
124
124
+
VOID ConErrChar(WCHAR c)
129
125
{
130
126
ConWrite(StdErr, &c, 1);
131
127
}
···
152
148
153
149
/************************** Console PAGER functions ***************************/
154
150
155
155
-
BOOL ConPrintfVPaging(PCON_PAGER Pager, BOOL StartPaging, LPTSTR szFormat, va_list arg_ptr)
151
151
+
BOOL ConPrintfVPaging(PCON_PAGER Pager, BOOL StartPaging, LPWSTR szFormat, va_list arg_ptr)
156
152
{
157
153
// INT len;
158
158
-
TCHAR szOut[OUTPUT_BUFFER_SIZE];
154
154
+
WCHAR szOut[OUTPUT_BUFFER_SIZE];
159
155
160
156
/* Return if no string has been given */
161
157
if (szFormat == NULL)
162
158
return TRUE;
163
159
164
164
-
/*len =*/ _vstprintf(szOut, szFormat, arg_ptr);
160
160
+
/*len =*/ vswprintf(szOut, szFormat, arg_ptr);
165
161
166
162
// return ConPutsPaging(Pager, PagePrompt, StartPaging, szOut);
167
163
return ConWritePaging(Pager, PagePrompt, StartPaging,
168
164
szOut, wcslen(szOut));
169
165
}
170
166
171
171
-
BOOL __cdecl ConOutPrintfPaging(BOOL StartPaging, LPTSTR szFormat, ...)
167
167
+
BOOL __cdecl ConOutPrintfPaging(BOOL StartPaging, LPWSTR szFormat, ...)
172
168
{
173
169
BOOL bRet;
174
170
va_list arg_ptr;
···
277
273
#endif
278
274
279
275
280
280
-
BOOL ConSetTitle(IN LPCTSTR lpConsoleTitle)
276
276
+
BOOL ConSetTitle(IN LPCWSTR lpConsoleTitle)
281
277
{
282
278
/* Now really set the console title */
283
279
return SetConsoleTitle(lpConsoleTitle);
+11
-11
base/shell/cmd/error.c
reviewed
···
25
25
VOID
26
26
ErrorMessage(
27
27
IN DWORD dwErrorCode,
28
28
-
IN PCTSTR szFormat OPTIONAL,
28
28
+
IN PCWSTR szFormat OPTIONAL,
29
29
...)
30
30
{
31
31
va_list arg_ptr;
32
32
-
PTSTR szError;
32
32
+
PWSTR szError;
33
33
TCHAR szMsg[RC_STRING_MAX_SIZE];
34
34
TCHAR szMessage[1024];
35
35
···
40
40
if (szFormat)
41
41
{
42
42
va_start(arg_ptr, szFormat);
43
43
-
_vstprintf(szMessage, szFormat, arg_ptr);
43
43
+
vswprintf(szMessage, szFormat, arg_ptr);
44
44
va_end(arg_ptr);
45
45
}
46
46
···
62
62
ConErrPrintf(_T("%s\n"), szMsg);
63
63
}
64
64
65
65
-
VOID error_parameter_format(TCHAR ch)
65
65
+
VOID error_parameter_format(WCHAR ch)
66
66
{
67
67
ConErrResPrintf(STRING_ERROR_PARAMETERF_ERROR, ch);
68
68
nErrorLevel = 1;
69
69
}
70
70
71
71
72
72
-
VOID error_invalid_switch(TCHAR ch)
72
72
+
VOID error_invalid_switch(WCHAR ch)
73
73
{
74
74
ConErrResPrintf(STRING_ERROR_INVALID_SWITCH, ch);
75
75
nErrorLevel = 1;
76
76
}
77
77
78
78
79
79
-
VOID error_too_many_parameters(PCTSTR s)
79
79
+
VOID error_too_many_parameters(PCWSTR s)
80
80
{
81
81
ConErrResPrintf(STRING_ERROR_TOO_MANY_PARAMETERS, s);
82
82
nErrorLevel = 1;
···
97
97
}
98
98
99
99
100
100
-
VOID error_sfile_not_found(PCTSTR s)
100
100
+
VOID error_sfile_not_found(PCWSTR s)
101
101
{
102
102
TCHAR szMsg[RC_STRING_MAX_SIZE];
103
103
···
121
121
}
122
122
123
123
124
124
-
VOID error_bad_command(PCTSTR s)
124
124
+
VOID error_bad_command(PCWSTR s)
125
125
{
126
126
ConErrResPrintf(STRING_ERROR_BADCOMMAND, s);
127
127
nErrorLevel = 9009;
···
142
142
}
143
143
144
144
145
145
-
VOID error_invalid_parameter_format(PCTSTR s)
145
145
+
VOID error_invalid_parameter_format(PCWSTR s)
146
146
{
147
147
ConErrResPrintf(STRING_ERROR_INVALID_PARAM_FORMAT, s);
148
148
nErrorLevel = 1;
149
149
}
150
150
151
151
152
152
-
VOID error_syntax(PCTSTR s)
152
152
+
VOID error_syntax(PCWSTR s)
153
153
{
154
154
-
TCHAR szMsg[RC_STRING_MAX_SIZE];
154
154
+
WCHAR szMsg[RC_STRING_MAX_SIZE];
155
155
156
156
LoadString(CMD_ModuleHandle, STRING_ERROR_ERROR2, szMsg, ARRAYSIZE(szMsg));
157
157