if (!space && !metachar) {
argvarray[0] = getcpy(r1bindex(command, '/'));
argvarray[1] = NULL;
- *file = getcpy(command);
+ *file = mh_xstrdup(command);
if (argp)
*argp = 1;
return argvarray;
}
/*
- * Spaces, but no shell metacharacters; space-split into seperate
+ * Spaces, but no shell metacharacters; space-split into separate
* arguments
*/
if (space && !metachar) {
char **split;
- p = getcpy(command);
+ p = mh_xstrdup(command);
split = brkstring(p, " \t", NULL);
if (split[0] == NULL) {
adios(NULL, "Invalid blank command found");
}
- argvarray[0] = getcpy(r1bindex(split[0], '/'));
+ argvarray[0] = mh_xstrdup(r1bindex(split[0], '/'));
for (i = 1; split[i] != NULL; i++) {
if (i > MAXARGS) {
adios(NULL, "Command exceeded argument limit");
}
- argvarray[i] = getcpy(split[i]);
+ argvarray[i] = mh_xstrdup(split[i]);
}
argvarray[i] = NULL;
- *file = getcpy(split[0]);
+ *file = mh_xstrdup(split[0]);
if (argp)
*argp = i;
free(p);
* So we put in a dummy argument (we just use /bin/sh)
*/
- *file = getcpy("/bin/sh");
- argvarray[0] = getcpy("sh");
- argvarray[1] = getcpy("-c");
- argvarray[2] = getcpy(command);
+ *file = mh_xstrdup("/bin/sh");
+ argvarray[0] = mh_xstrdup("sh");
+ argvarray[1] = mh_xstrdup("-c");
+ argvarray[2] = mh_xstrdup(command);
argvarray[2] = add(" \"$@\"", argvarray[2]);
- argvarray[3] = getcpy("/bin/sh");
+ argvarray[3] = mh_xstrdup("/bin/sh");
argvarray[4] = NULL;
if (argp)
{
int i;
- if (command != NULL)
- free(command);
+ mh_xfree(command);
if (argvarray != NULL) {
for (i = 0; argvarray[i] != NULL; i++)