dirname(3) should be shot to death.
return p;
}
-char *
-xdirname(const char *path)
-{
- char *p, *tmp;
-
- /* Some implementations of dirname(3) may modify `path' */
- tmp = xstrdup(path);
- p = dirname(tmp);
- free(tmp);
- if (p == NULL)
- printerr(1, "dirname");
- return p;
-}
-
void
spawn(const char *file, const char *arg)
{
if (strcmp(path, "/") == 0) {
goto nochange;
} else {
- dir = xdirname(path);
+ dir = dirname(path);
tmp = xmalloc(strlen(dir) + 1);
strlcpy(tmp, dir, strlen(dir) + 1);
free(path);