Re: [PATCH] fix building on musl

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ping
Just wanted to check if this is something being considered at all, thanks.

> On Feb 20, 2025, at 19:40, Ben Buhse <me@benbuhse.email> wrote:
> 
> musl 1.2.5 removed basename from string.h and only kept it in libgen.h: https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
> ---
> daemon/automount.c    | 20 +++++++++++++++-----
> daemon/master.c       |  1 +
> modules/lookup_file.c |  1 +
> 3 files changed, 17 insertions(+), 5 deletions(-)
> 
> diff --git a/daemon/automount.c b/daemon/automount.c
> index 474b29a..5256426 100644
> --- a/daemon/automount.c
> +++ b/daemon/automount.c
> @@ -21,6 +21,7 @@
> 
> #include <dirent.h>
> #include <getopt.h>
> +#include <libgen.h>
> #include <signal.h>
> #include <stdio.h>
> #include <stdlib.h>
> @@ -2538,12 +2539,21 @@ int main(int argc, char *argv[])
> 
>        lookup_nss_read_master(master_list, 0);
>        if (type) {
> -            const char *map = basename(name);
> -            if (!map)
> -                printf("%s: invalid map name %s\n",
> +            const char *map = NULL;
> +            char *name_dup = strdup(name);
> +            if (!name_dup) {
> +                printf("%s: failed to copy name %s for parsing\n",
>                    program, name);
> -            else
> -                dump_map(master_list, type, map);
> +            } else {
> +                map = basename(name_dup);
> +                if (!map)
> +                    printf("%s: invalid map name %s\n",
> +                        program, name);
> +                else
> +                    dump_map(master_list, type, map);
> +                free(name_dup);
> +                name_dup = NULL;
> +            }
>        } else
>            master_show_mounts(master_list);
> 
> diff --git a/daemon/master.c b/daemon/master.c
> index f2c11e9..1455e40 100644
> --- a/daemon/master.c
> +++ b/daemon/master.c
> @@ -21,6 +21,7 @@
> #include <string.h>
> #include <memory.h>
> #include <limits.h>
> +#include <libgen.h>
> #include <signal.h>
> #include <sys/types.h>
> #include <sys/stat.h>
> diff --git a/modules/lookup_file.c b/modules/lookup_file.c
> index 99f2e21..4914395 100644
> --- a/modules/lookup_file.c
> +++ b/modules/lookup_file.c
> @@ -15,6 +15,7 @@
> 
> #include <stdio.h>
> #include <malloc.h>
> +#include <libgen.h>
> #include <stdlib.h>
> #include <string.h>
> #include <time.h>
> --
> 2.45.3
> 





[Index of Archives]     [Linux Filesystem Development]     [Linux Ext4]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux