1
1
/**
2
2
* Contains druntime startup and shutdown routines.
3
3
*
4
- * Copyright: Copyright Digital Mars 2000 - 2013 .
4
+ * Copyright: Copyright Digital Mars 2000 - 2018 .
5
5
* License: Distributed under the
6
6
* $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0).
7
7
* (See accompanying file LICENSE)
@@ -110,7 +110,7 @@ version (Windows)
110
110
return initLibrary (.LoadLibraryA(name));
111
111
}
112
112
113
- extern (C ) void * rt_loadLibraryW(const wchar_t * name)
113
+ extern (C ) void * rt_loadLibraryW(const WCHAR * name)
114
114
{
115
115
return initLibrary (.LoadLibraryW(name));
116
116
}
@@ -382,10 +382,10 @@ extern (C) int _d_run_main(int argc, char **argv, MainFunc mainFunc)
382
382
* Then, reparse into wargc/wargs, and then use Windows API to convert
383
383
* to UTF-8.
384
384
*/
385
- const wchar_t * wCommandLine = GetCommandLineW();
385
+ const wCommandLine = GetCommandLineW();
386
386
immutable size_t wCommandLineLength = wcslen(wCommandLine);
387
387
int wargc;
388
- wchar_t ** wargs = CommandLineToArgvW(wCommandLine, &wargc);
388
+ auto wargs = CommandLineToArgvW(wCommandLine, &wargc);
389
389
// assert(wargc == argc); /* argc can be broken by Unicode arguments */
390
390
391
391
// Allocate args[] on the stack - use wargc
@@ -581,7 +581,7 @@ extern (C) void _d_print_throwable(Throwable t)
581
581
{
582
582
static struct WSink
583
583
{
584
- wchar_t * ptr; size_t len;
584
+ WCHAR * ptr; size_t len;
585
585
586
586
void sink (in char [] s) scope nothrow
587
587
{
@@ -590,16 +590,16 @@ extern (C) void _d_print_throwable(Throwable t)
590
590
CP_UTF8 , 0 , s.ptr, cast (int )s.length, null , 0 );
591
591
if (! swlen) return ;
592
592
593
- auto newPtr = cast (wchar_t * )realloc(ptr,
594
- (this .len + swlen + 1 ) * wchar_t .sizeof);
593
+ auto newPtr = cast (WCHAR * )realloc(ptr,
594
+ (this .len + swlen + 1 ) * WCHAR .sizeof);
595
595
if (! newPtr) return ;
596
596
ptr = newPtr;
597
597
auto written = MultiByteToWideChar(
598
598
CP_UTF8 , 0 , s.ptr, cast (int )s.length, ptr+ len, swlen);
599
599
len += written;
600
600
}
601
601
602
- wchar_t * get () { if (ptr) ptr[len] = 0 ; return ptr; }
602
+ typeof (ptr) get () { if (ptr) ptr[len] = 0 ; return ptr; }
603
603
604
604
void free () { .free(ptr); }
605
605
}
0 commit comments