diff options
Diffstat (limited to 'ACE/ace/Process.cpp')
-rw-r--r-- | ACE/ace/Process.cpp | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/ACE/ace/Process.cpp b/ACE/ace/Process.cpp index b79fbcbd0f9..db6bfb1c1e1 100644 --- a/ACE/ace/Process.cpp +++ b/ACE/ace/Process.cpp @@ -112,15 +112,21 @@ ACE_Process::spawn (ACE_Process_Options &options) h != ACE_INVALID_HANDLE && curr_len + 20 < max_len; h = h_iter ()) { -#if defined (ACE_WIN64) +#if defined (ACE_WIN32) +# if defined (ACE_WIN64) + curr_len += ACE_OS::sprintf (&cmd_line_buf[curr_len], + ACE_LIB_TEXT (" +H %I64p"), + h); +# else curr_len += ACE_OS::sprintf (&cmd_line_buf[curr_len], - ACE_LIB_TEXT (" +H %I64d"), + ACE_LIB_TEXT (" +H %p"), h); +# endif /* ACE_WIN64 */ #else curr_len += ACE_OS::sprintf (&cmd_line_buf[curr_len], ACE_LIB_TEXT (" +H %d"), h); -#endif /* ACE_WIN64 */ +#endif /* ACE_WIN32 */ } } @@ -871,7 +877,7 @@ ACE_Process_Options::setenv (const ACE_TCHAR *variable_name, do { retval = ACE_OS::vsnprintf (safe_stack_buf.get (), tmp_buflen, safe_newformat.get (), argp); - if (retval > ACE_Utils::Truncate<int> (tmp_buflen)) + if (retval > ACE_Utils::truncate_cast<int> (tmp_buflen)) { tmp_buflen *= 2; ACE_NEW_RETURN (stack_buf, ACE_TCHAR[tmp_buflen], -1); @@ -1066,10 +1072,10 @@ ACE_Process_Options::command_line (const ACE_TCHAR *format, ...) if (command_line_buf_len_ < 1) return -1; -#if !defined (ACE_LACKS_VSNPRINTF) - // sprintf the format and args into command_line_buf__. +#if !defined (ACE_LACKS_VSNPRINTF) || defined (ACE_HAS_TRIO) + // vsnprintf the format and args into command_line_buf__. ACE_OS::vsnprintf (command_line_buf_, - command_line_buf_len_ - 1, + command_line_buf_len_, format, argp); #else |