2424 * additional length if the string needs to be quoted and if characters need to
2525 * be escaped.
2626 */
27- static int ArgStrLen (const PRUnichar *s)
27+ static int ArgStrLen (const wchar_t *s)
2828{
2929 int backslashes = 0 ;
3030 int i = wcslen (s);
@@ -65,7 +65,7 @@ static int ArgStrLen(const PRUnichar *s)
6565 *
6666 * @return the end of the string
6767 */
68- static PRUnichar * ArgToString (PRUnichar *d, const PRUnichar *s)
68+ static wchar_t * ArgToString (wchar_t *d, const wchar_t *s)
6969{
7070 int backslashes = 0 ;
7171 BOOL hasDoubleQuote = wcschr (s, L' "' ) != nullptr ;
@@ -116,8 +116,8 @@ static PRUnichar* ArgToString(PRUnichar *d, const PRUnichar *s)
116116 *
117117 * argv is UTF8
118118 */
119- PRUnichar *
120- MakeCommandLine (int argc, PRUnichar **argv)
119+ wchar_t *
120+ MakeCommandLine (int argc, wchar_t **argv)
121121{
122122 int i;
123123 int len = 0 ;
@@ -130,11 +130,11 @@ MakeCommandLine(int argc, PRUnichar **argv)
130130 if (len == 0 )
131131 len = 1 ;
132132
133- PRUnichar *s = (PRUnichar *) malloc (len * sizeof (PRUnichar ));
133+ wchar_t *s = (wchar_t *) malloc (len * sizeof (wchar_t ));
134134 if (!s)
135135 return nullptr ;
136136
137- PRUnichar *c = s;
137+ wchar_t *c = s;
138138 for (i = 0 ; i < argc; ++i) {
139139 c = ArgToString (c, argv[i]);
140140 if (i + 1 != argc) {
@@ -168,7 +168,7 @@ AllocConvertUTF8toUTF16(const char *arg)
168168}
169169
170170static void
171- FreeAllocStrings (int argc, PRUnichar **argv)
171+ FreeAllocStrings (int argc, wchar_t **argv)
172172{
173173 while (argc) {
174174 --argc;
@@ -187,23 +187,23 @@ FreeAllocStrings(int argc, PRUnichar **argv)
187187 */
188188
189189BOOL
190- WinLaunchChild (const PRUnichar *exePath,
191- int argc, PRUnichar **argv,
190+ WinLaunchChild (const wchar_t *exePath,
191+ int argc, wchar_t **argv,
192192 HANDLE userToken = nullptr ,
193193 HANDLE *hProcess = nullptr );
194194
195195BOOL
196- WinLaunchChild (const PRUnichar *exePath,
197- int argc, char **argv,
196+ WinLaunchChild (const wchar_t *exePath,
197+ int argc, char **argv,
198198 HANDLE userToken,
199199 HANDLE *hProcess)
200200{
201- PRUnichar ** argvConverted = new PRUnichar *[argc];
201+ wchar_t ** argvConverted = new wchar_t *[argc];
202202 if (!argvConverted)
203203 return FALSE ;
204204
205205 for (int i = 0 ; i < argc; ++i) {
206- argvConverted[i] = AllocConvertUTF8toUTF16 (argv[i]);
206+ argvConverted[i] = reinterpret_cast < wchar_t *>( AllocConvertUTF8toUTF16 (argv[i]) );
207207 if (!argvConverted[i]) {
208208 FreeAllocStrings (i, argvConverted);
209209 return FALSE ;
@@ -216,13 +216,13 @@ WinLaunchChild(const PRUnichar *exePath,
216216}
217217
218218BOOL
219- WinLaunchChild (const PRUnichar *exePath,
219+ WinLaunchChild (const wchar_t *exePath,
220220 int argc,
221- PRUnichar **argv,
221+ wchar_t **argv,
222222 HANDLE userToken,
223223 HANDLE *hProcess)
224224{
225- PRUnichar *cl;
225+ wchar_t *cl;
226226 BOOL ok;
227227
228228 cl = MakeCommandLine (argc, argv);
0 commit comments