📄 spawnv.c
字号:
/* This is a kludge to get around the Microsoft C spawn functions' propensity to remove the outermost set of double quotes from all arguments. */#define index(s,c) strchr((s),(c))extern char *malloc ();const char * const *fix_argv (argv) char **argv;{ static char sh_chars[] = "\""; int i, len; char *new_argv; char *p, *ap; for (i=1; argv[i]; i++) { len = strlen (argv[i]); new_argv = malloc (2*len+3); ap = new_argv; for (p = argv[i]; *p != '\0'; ++p) { if (index (sh_chars, *p) != 0) *ap++ = '\\'; *ap++ = *p; } *ap = '\0'; argv[i] = new_argv; } return (const char * const *) argv;}int __spawnv (mode, cmdname, argv) int mode; const char *cmdname; char **argv;{ _spawnv (mode, cmdname, fix_argv (argv));}int __spawnvp (mode, cmdname, argv) int mode; const char *cmdname; char **argv;{ _spawnvp (mode, cmdname, fix_argv (argv));}int spawnve (mode, cmdname, argv, envp) int mode; const char *cmdname; char **argv; const char *const *envp;{ _spawnve (mode, cmdname, fix_argv (argv), envp);}int __spawnvpe (mode, cmdname, argv, envp) int mode; const char *cmdname; char **argv; const char *const *envp;{ _spawnvpe (mode, cmdname, fix_argv (argv), envp);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -