diff options
| author | Dag-Erling Smørgrav <des@FreeBSD.org> | 2000-10-12 16:22:15 +0000 |
|---|---|---|
| committer | Dag-Erling Smørgrav <des@FreeBSD.org> | 2000-10-12 16:22:15 +0000 |
| commit | 83d213303c75b22c208f4a05acbabad078cc4e28 (patch) | |
| tree | e68b56e5e0a5ffdb59ee13233ee930673c9a77eb /usr.bin/basename | |
| parent | 00d8d164171edb98f302bf3383bfe87aac08514c (diff) | |
Notes
Diffstat (limited to 'usr.bin/basename')
| -rw-r--r-- | usr.bin/basename/basename.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/usr.bin/basename/basename.c b/usr.bin/basename/basename.c index e22e5a6c4a2a..b6756ca2cdfe 100644 --- a/usr.bin/basename/basename.c +++ b/usr.bin/basename/basename.c @@ -71,10 +71,15 @@ main(argc, argv) if (argc != 1 && argc != 2) usage(); + if (!*argv[0]) { + printf("\n"); + exit(0); + } if ((p = basename(argv[0])) == NULL) err(1, "%s", argv[0]); - if (*++argv && (q = strstr(p, *argv)) && strcmp(q, *argv) == 0) - *q = '\0'; + if (*++argv && (q = strchr(p, '\0') - strlen(*argv)) > p && + strcmp(*argv, q) == 0) + *q = '\0'; (void)printf("%s\n", p); exit(0); } |
