Commit 4e760ce3 by Richard Kenner

Changed spawn function entry points to __spawn* instead of spawn*.

From-SVN: r10338
parent 2a9f2bb9
/* This is a kludge to get around the Microsoft C spawn functions' propensity /* This is a kludge to get around the Microsoft C spawn functions' propensity
to remove the outermost set of double quotes from all arguments. */ to remove the outermost set of double quotes from all arguments. */
#define index(s,c) strchr((s),(c)) #define index(s,c) strchr((s),(c))
extern char *xmalloc (); extern char *malloc ();
const char * const * const char * const *
fix_argv (argv) fix_argv (argv)
...@@ -20,9 +19,8 @@ fix_argv (argv) ...@@ -20,9 +19,8 @@ fix_argv (argv)
{ {
len = strlen (argv[i]); len = strlen (argv[i]);
new_argv = xmalloc (2*len+3); new_argv = malloc (2*len+3);
ap = new_argv; ap = new_argv;
*ap++ = '"';
for (p = argv[i]; *p != '\0'; ++p) for (p = argv[i]; *p != '\0'; ++p)
{ {
...@@ -30,7 +28,6 @@ fix_argv (argv) ...@@ -30,7 +28,6 @@ fix_argv (argv)
*ap++ = '\\'; *ap++ = '\\';
*ap++ = *p; *ap++ = *p;
} }
*ap++ = '"';
*ap = '\0'; *ap = '\0';
argv[i] = new_argv; argv[i] = new_argv;
} }
...@@ -38,7 +35,7 @@ fix_argv (argv) ...@@ -38,7 +35,7 @@ fix_argv (argv)
return (const char * const *) argv; return (const char * const *) argv;
} }
int spawnv (mode, cmdname, argv) int __spawnv (mode, cmdname, argv)
int mode; int mode;
const char *cmdname; const char *cmdname;
char **argv; char **argv;
...@@ -46,7 +43,7 @@ int spawnv (mode, cmdname, argv) ...@@ -46,7 +43,7 @@ int spawnv (mode, cmdname, argv)
_spawnv (mode, cmdname, fix_argv (argv)); _spawnv (mode, cmdname, fix_argv (argv));
} }
int spawnvp (mode, cmdname, argv) int __spawnvp (mode, cmdname, argv)
int mode; int mode;
const char *cmdname; const char *cmdname;
char **argv; char **argv;
...@@ -63,7 +60,7 @@ int spawnve (mode, cmdname, argv, envp) ...@@ -63,7 +60,7 @@ int spawnve (mode, cmdname, argv, envp)
_spawnve (mode, cmdname, fix_argv (argv), envp); _spawnve (mode, cmdname, fix_argv (argv), envp);
} }
int spawnvpe (mode, cmdname, argv, envp) int __spawnvpe (mode, cmdname, argv, envp)
int mode; int mode;
const char *cmdname; const char *cmdname;
char **argv; char **argv;
...@@ -71,3 +68,4 @@ int spawnvpe (mode, cmdname, argv, envp) ...@@ -71,3 +68,4 @@ int spawnvpe (mode, cmdname, argv, envp)
{ {
_spawnvpe (mode, cmdname, fix_argv (argv), envp); _spawnvpe (mode, cmdname, fix_argv (argv), envp);
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment