diff --git a/winsup/cygwin/kernel32.cc b/winsup/cygwin/kernel32.cc index 36951f6a8..f07f80d59 100644 --- a/winsup/cygwin/kernel32.cc +++ b/winsup/cygwin/kernel32.cc @@ -419,14 +419,17 @@ static UNICODE_STRING * ucmd () { static UNICODE_STRING wcmd; + tmp_pathbuf tp; + if (!wcmd.Buffer) { linebuf cmd; - path_conv real_path (__argv[0]); + char *win_progname = tp.c_get (); + sys_wcstombs (win_progname, NT_MAX_PATH, global_progname); av newargv (__argc, __argv); if (newargv.argc) { - cmd.fromargv (newargv, real_path.get_win32 (), true); + cmd.fromargv (newargv, win_progname, true); RtlInitUnicodeString (&wcmd, cmd); } }