Files
oldlinux-files/study/linux-travel/MINIX-1.5/1.5/Source/commands/basename.c
2024-02-19 00:25:23 -05:00

36 lines
609 B
C

/* basename - print the last part of a path: Author: Blaine Garfolo */
#define NULL 0
main(argc, argv)
int argc;
char *argv[];
{
int j, suflen;
char *c;
char *d;
extern char *rindex();
if (argc < 2) {
std_err("Usage: basename string [suffix] \n");
exit(1);
}
c = argv[1];
d = rindex(argv[1], '/');
if (d == NULL)
d = argv[1];
else
d++;
if (argc == 2) { /* if no suffix */
prints("%s\n", d);
exit(0);
} else { /* if suffix is present */
c = d;
suflen = strlen(argv[2]);
j = strlen(c) - suflen;
if (strcmp(c + j, argv[2]) == 0) *(c + j) = 0;
}
prints("%s\n", c);
}