sbase

suckless unix tools
git clone git://git.suckless.org/sbase
Log | Files | Refs | README | LICENSE

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:
Mbasename.c | 5+++--
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]))