|
|
1.1 root 1: /*
2: * Copyright (c) 1987 Regents of the University of California.
3: * All rights reserved.
4: *
5: * Redistribution and use in source and binary forms are permitted
6: * provided that the above copyright notice and this paragraph are
7: * duplicated in all such forms and that any documentation,
8: * advertising materials, and other materials related to such
9: * distribution and use acknowledge that the software was developed
10: * by the University of California, Berkeley. The name of the
11: * University may not be used to endorse or promote products derived
12: * from this software without specific prior written permission.
13: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
14: * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
15: * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
16: */
17:
18: #ifndef lint
19: char copyright[] =
20: "@(#) Copyright (c) 1987 Regents of the University of California.\n\
21: All rights reserved.\n";
22: #endif /* not lint */
23:
24: #ifndef lint
25: static char sccsid[] = "@(#)basename.c 4.5 (Berkeley) 6/29/88";
26: #endif /* not lint */
27:
28: main(argc, argv)
29: int argc;
30: char **argv;
31: {
32: register char *p, *t;
33: char *base;
34:
35: if (argc <= 1) { /* backward compatible */
36: putchar('\n');
37: exit(1);
38: }
39: for (p = base = *++argv; *p;)
40: if (*p++ == '/')
41: base = p;
42: if (argc > 2) { /* original version allows any # of args */
43: for (t = *++argv; *t; ++t);
44: do {
45: if (t == *argv) {
46: *p = '\0';
47: break;
48: }
49: } while (p >= base && *--t == *--p);
50: }
51: puts(base);
52: exit(0);
53: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.