blob: ba9d4c9b8b7873f02cf5df87481cfb9d50b006b0 (
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
|
#include <u.h>
#include <base.h>
#include <libfmt.h>
static void
usage(void)
{
fmt·fprint(2,"usage: %s [-d] path [suffix]\n", argv0);
exits("usage");
}
int
main(int argc, char *argv[])
{
int d;
long n;
char *p, *s;
ARGBEGIN{
case 'd': d = 1; break;
default:
usage();
}ARGEND;
if(argc < 1 || argc > 2)
usage();
p = d ? os·dirname(argv[0]) : os·basename(argv[0]);
if(argc>1){
n = strlen(p)-strlen(argv[1]);
if(n >= 0 && strcmp(p+n, argv[1])==0)
p[n] = 0;
}
puts(p);
exits(nil);
}
|