#include <u.h> | |
#include <libc.h> | |
void | |
main(int argc, char **argv) | |
{ | |
char *dir; | |
char *name; | |
int i; | |
dir = nil; | |
ARGBEGIN{ | |
case 'd': | |
if((dir=ARGF()) == nil) | |
goto Usage; | |
break; | |
default: | |
goto Usage; | |
}ARGEND; | |
if(argc < 1) { | |
Usage: | |
fprint(2, "usage: cleanname [-d pwd] name...\n"); | |
exits("usage"); | |
} | |
for(i=0; i<argc; i++) { | |
if(dir == nil || argv[i][0] == '/') { | |
cleanname(argv[i]); | |
print("%s\n", argv[i]); | |
} else { | |
name = malloc(strlen(argv[i])+1+strlen(dir)+1); | |
if(name == nil) { | |
fprint(2, "cleanname: out of memory\n"); | |
exits("out of memory"); | |
} | |
sprint(name, "%s/%s", dir, argv[i]); | |
cleanname(name); | |
print("%s\n", name); | |
free(name); | |
} | |
} | |
exits(0); | |
} |