commit 314a2d20cba0a92f7b0494056c27895169675ca0
parent b93f0c750d9e76d5498724e64ea0e44bf500ab8f
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Wed, 5 Nov 2025 19:05:28 +0100
basename: fix case: basename "" ""
This should return "", not "."
Diffstat:
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/basename.c b/basename.c
@@ -16,7 +16,7 @@ main(int argc, char *argv[])
{
ssize_t off;
size_t slen;
- char *p;
+ char *p = "";
ARGBEGIN {
default:
@@ -26,7 +26,8 @@ main(int argc, char *argv[])
if (argc != 1 && argc != 2)
usage();
- p = basename(argv[0]);
+ if (argv[0][0])
+ p = basename(argv[0]);
if (argc == 2 && (slen = strlen(argv[1])) > 0) {
off = strlen(p) - slen;
if (off > 0 && !strcmp(p + off, argv[1]))