Submitted by David Fritz.
+2004-05-09 David Fritz <zeroxdf@att.net>
+
+ * mswindows.c (fake_fork): Pass entire command line to the child
+ process.
+
2004-03-31 Hrvoje Niksic <hniksic@xemacs.org>
* http.c (gethttp): Fix typo: SCHEME_SSL -> SCHEME_HTTPS.
2004-03-31 Hrvoje Niksic <hniksic@xemacs.org>
* http.c (gethttp): Fix typo: SCHEME_SSL -> SCHEME_HTTPS.
static void
fake_fork (void)
{
static void
fake_fork (void)
{
char exe[MAX_PATH + 1];
DWORD exe_len, le;
SECURITY_ATTRIBUTES sa;
char exe[MAX_PATH + 1];
DWORD exe_len, le;
SECURITY_ATTRIBUTES sa;
event = section = pi.hProcess = pi.hThread = NULL;
event = section = pi.hProcess = pi.hThread = NULL;
- /* Get command line arguments to pass to the child process.
- We need to skip the name of the command (what amounts to argv[0]). */
- cmdline = GetCommandLine ();
- if (*cmdline == '"')
- {
- args = strchr (cmdline + 1, '"');
- if (args)
- ++args;
- }
- else
- args = strchr (cmdline, ' ');
-
- /* It's ok if args is NULL, that would mean there were no arguments
- after the command name. As it is now though, we would never get here
- if that were true. */
-
/* Get the fully qualified name of our executable. This is more reliable
than using argv[0]. */
exe_len = GetModuleFileName (GetModuleHandle (NULL), exe, sizeof (exe));
/* Get the fully qualified name of our executable. This is more reliable
than using argv[0]. */
exe_len = GetModuleFileName (GetModuleHandle (NULL), exe, sizeof (exe));
suspended state. */
memset (&si, 0, sizeof (si));
si.cb = sizeof (si);
suspended state. */
memset (&si, 0, sizeof (si));
si.cb = sizeof (si);
- rv = CreateProcess (exe, args, NULL, NULL, TRUE, CREATE_SUSPENDED |
- DETACHED_PROCESS, NULL, NULL, &si, &pi);
+ rv = CreateProcess (exe, GetCommandLine (), NULL, NULL, TRUE,
+ CREATE_SUSPENDED | DETACHED_PROCESS,
+ NULL, NULL, &si, &pi);