blob: 0883e6002c9038286165d7b9135e86e2d637f68e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
implement Cleanname;
include "sys.m";
sys: Sys;
include "draw.m";
include "names.m";
names: Names;
include "arg.m";
Cleanname: module
{
init: fn(nil: ref Draw->Context, nil: list of string);
};
init(nil: ref Draw->Context, args: list of string)
{
sys = load Sys Sys->PATH;
names = load Names Names->PATH;
arg := load Arg Arg->PATH;
dir: string;
arg->init(args);
arg->setusage("cleanname [-d pwd] name ...");
while((o := arg->opt()) != 0)
case o {
'd' =>
dir = arg->earg();
* =>
arg->usage();
}
args = arg->argv();
if(args == nil)
arg->usage();
arg = nil;
for(; args != nil; args = tl args){
n := hd args;
if(dir != nil && n != nil && n[0] != '/' && n[0] != '#')
n = dir+"/"+n;
sys->print("%s\n", names->cleanname(n)); # %q?
}
}
|