From 314a2d20cba0a92f7b0494056c27895169675ca0 Mon Sep 17 00:00:00 2001 From: Hiltjo Posthuma Date: Wed, 5 Nov 2025 19:05:28 +0100 Subject: [PATCH] basename: fix case: basename "" "" This should return "", not "." --- basename.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/basename.c b/basename.c index 63e7b7b..aa66f4a 100644 --- 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]))