[hackers] [sbase] basename: fix case: basename "" "" || Hiltjo Posthuma

From: <git_AT_suckless.org>
Date: Thu, 6 Nov 2025 08:09:59 +0100 (CET)

commit 314a2d20cba0a92f7b0494056c27895169675ca0
Author: Hiltjo Posthuma <hiltjo_AT_codemadness.org>
AuthorDate: Wed Nov 5 19:05:28 2025 +0100
Commit: Roberto E. Vargas Caballero <k0ga_AT_shike2.net>
CommitDate: Thu Nov 6 08:09:47 2025 +0100

    basename: fix case: basename "" ""
    
    This should return "", not "."

diff --git a/basename.c b/basename.c
index 63e7b7b..aa66f4a 100644
--- a/basename.c
+++ b/basename.c
_AT_@ -16,7 +16,7 @@ main(int argc, char *argv[])
 {
         ssize_t off;
         size_t slen;
- char *p;
+ char *p = "";
 
         ARGBEGIN {
         default:
_AT_@ -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]))
Received on Thu Nov 06 2025 - 08:09:59 CET

This archive was generated by hypermail 2.3.0 : Thu Nov 06 2025 - 08:12:17 CET