version 1.93, 2014/05/09 09:11:24 |
version 1.94, 2014/05/13 08:08:32 |
|
|
|
|
if (argc == 0) |
if (argc == 0) |
return (NULL); |
return (NULL); |
new_argv = xcalloc(argc, sizeof *new_argv); |
new_argv = xcalloc(argc + 1, sizeof *new_argv); |
for (i = 0; i < argc; i++) { |
for (i = 0; i < argc; i++) { |
if (argv[i] != NULL) |
if (argv[i] != NULL) |
new_argv[i] = xstrdup(argv[i]); |
new_argv[i] = xstrdup(argv[i]); |
|
|
for (i = 0; i < argc; i++) |
for (i = 0; i < argc; i++) |
free(argv[i]); |
free(argv[i]); |
free(argv); |
free(argv); |
|
} |
|
|
|
char * |
|
cmd_stringify_argv(int argc, char **argv) |
|
{ |
|
char *buf; |
|
int i; |
|
size_t len; |
|
|
|
if (argc == 0) |
|
return (xstrdup("")); |
|
|
|
len = 0; |
|
buf = NULL; |
|
|
|
for (i = 0; i < argc; i++) { |
|
len += strlen(argv[i]) + 1; |
|
buf = xrealloc(buf, 1, len); |
|
|
|
if (i == 0) |
|
*buf = '\0'; |
|
else |
|
strlcat(buf, " ", len); |
|
strlcat(buf, argv[i], len); |
|
} |
|
return (buf); |
} |
} |
|
|
struct cmd * |
struct cmd * |