* environ.cc (regopt): Change the first argument to wide char string.
(environ_init): Accommodate change to the first argument of regopt. * exception.cc (open_stackdumpfile): Accommodate change to the type of progname in _pinfo. * external.cc (fillout_pinfo): Ditto. * fhandler_process.cc (format_process_winexename): Ditto. (format_process_stat): Ditto. * fork.cc (fork::parent): Ditto. * pinfo.cc (pinfo_basic::pinfo_basic): Call GetModuleFileNameW instead of GetModuleFileName. (pinfo::thisproc): Accommodate change to the type of progname in _pinfo. (pinfo_init): Ditto. * pinfo.h (_pinfo): Change the type of progname to a wide char array. * registry.h (reg_key::get_int): Change the first argument from constant point to pointer to constant. (reg_key::get_string): Ditto. Change the last argument likewise. * registry.cc (reg_key::get_int): Accommodate change to the declaration. (reg_key::get_string): Ditto. * strace.cc (strace::hello): Accommodate change to the type of progname in _pinfo. (strace::vsprntf): Ditto.
This commit is contained in:
@ -130,24 +130,21 @@ open_stackdumpfile ()
|
||||
{
|
||||
if (myself->progname[0])
|
||||
{
|
||||
const char *p;
|
||||
const WCHAR *p;
|
||||
/* write to progname.stackdump if possible */
|
||||
if (!myself->progname[0])
|
||||
p = "unknown";
|
||||
else if ((p = strrchr (myself->progname, '\\')))
|
||||
p = L"unknown";
|
||||
else if ((p = wcsrchr (myself->progname, L'\\')))
|
||||
p++;
|
||||
else
|
||||
p = myself->progname;
|
||||
|
||||
WCHAR corefile[strlen (p) + sizeof (".stackdump")];
|
||||
WCHAR corefile[wcslen (p) + sizeof (".stackdump")];
|
||||
wcscpy(corefile, p);
|
||||
UNICODE_STRING ucore;
|
||||
OBJECT_ATTRIBUTES attr;
|
||||
/* Create the UNICODE variation of <progname>.stackdump. */
|
||||
RtlInitEmptyUnicodeString (&ucore, corefile,
|
||||
sizeof corefile - sizeof (WCHAR));
|
||||
ucore.Length = sys_mbstowcs (ucore.Buffer,
|
||||
ucore.MaximumLength / sizeof (WCHAR),
|
||||
p, strlen (p)) * sizeof (WCHAR);
|
||||
RtlInitUnicodeString (&ucore, corefile);
|
||||
RtlAppendUnicodeToString (&ucore, L".stackdump");
|
||||
/* Create an object attribute which refers to <progname>.stackdump
|
||||
in Cygwin's cwd. Stick to caseinsensitivity. */
|
||||
|
Reference in New Issue
Block a user