diff options
author | Christopher Faylor <me@cgf.cx> | 2013-07-19 22:44:02 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2013-07-19 22:44:02 +0000 |
commit | bbdd6c47c994fb1d688de594366f28e3b46c7053 (patch) | |
tree | 82d2644736f6d5c984de7cde6245b2ed2e3993d2 /winsup/cygwin/spawn.cc | |
parent | 132e0f018226396c89ceb8d02c6bb72454c2699c (diff) | |
download | cygnal-bbdd6c47c994fb1d688de594366f28e3b46c7053.tar.gz cygnal-bbdd6c47c994fb1d688de594366f28e3b46c7053.tar.bz2 cygnal-bbdd6c47c994fb1d688de594366f28e3b46c7053.zip |
* spawn.cc (child_info_spawn::worker): Reinstate using temp buffer for wide
character command-line storage. Use wcs method to convert command line.
* winf.h (lb_wcs): Delete.
(linebuf::wcs): Implement new single-argument method.
Diffstat (limited to 'winsup/cygwin/spawn.cc')
-rw-r--r-- | winsup/cygwin/spawn.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/winsup/cygwin/spawn.cc b/winsup/cygwin/spawn.cc index 23217401c..7682c3b9e 100644 --- a/winsup/cygwin/spawn.cc +++ b/winsup/cygwin/spawn.cc @@ -612,6 +612,7 @@ loop: if (!real_path.iscygexec () && mode == _P_OVERLAY) myself->process_state |= PID_NOTCYGWIN; + wchar_t wcmd[(size_t) cmd]; if (!::cygheap->user.issetuid () || (::cygheap->user.saved_uid == ::cygheap->user.real_uid && ::cygheap->user.saved_gid == ::cygheap->user.real_gid @@ -619,7 +620,7 @@ loop: && !::cygheap->user.setuid_to_restricted)) { rc = CreateProcessW (runpath, /* image name - with full path */ - lb_wcs (cmd), /* what was passed to exec */ + cmd.wcs (wcmd),/* what was passed to exec */ &sec_none_nih, /* process security attrs */ &sec_none_nih, /* thread security attrs */ TRUE, /* inherit handles from parent */ @@ -682,7 +683,7 @@ loop: rc = CreateProcessAsUserW (::cygheap->user.primary_token (), runpath, /* image name - with full path */ - lb_wcs (cmd), /* what was passed to exec */ + cmd.wcs (wcmd),/* what was passed to exec */ &sec_none_nih, /* process security attrs */ &sec_none_nih, /* thread security attrs */ TRUE, /* inherit handles from parent */ |