summaryrefslogtreecommitdiff
path: root/ACE/ace/Process.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/ace/Process.cpp')
-rw-r--r--ACE/ace/Process.cpp20
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