The musl libc only implements POSIX basename() but provided a GNU header
kludge in <string.h>, which was removed in musl 1.2.5 [1]. Use the standard
<libgen.h> header to avoid compilation errors like:
luci.c: In function 'rpc_luci_parse_network_device_sys':
luci.c:676:53: error: implicit declaration of function 'basename' [-Werror=implicit-function-declaration]
676 | blobmsg_add_string(&blob, "master", basename(link));
| ^~~~~~~~
luci.c:676:53: error: passing argument 3 of 'blobmsg_add_string' makes pointer from integer without a cast [-Werror=int-conversion]
676 | blobmsg_add_string(&blob, "master", basename(link));
| ^~~~~~~~~~~~~~
| |
| int
...
cc1: all warnings being treated as errors
Link 1: https://git.musl-libc.org/cgit/musl/log/?qt=grep&q=basename
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
(cherry picked from commit
8b08b48df99c42918ab443dea29bd42652abed36)
include $(TOPDIR)/rules.mk
PKG_NAME:=rpcd-mod-luci
-PKG_VERSION:=20230123
+PKG_VERSION:=20240305
PKG_RELEASE:=1
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
#define _GNU_SOURCE
#include <stdio.h>
-#include <string.h>
+#include <libgen.h>
#include <stdint.h>
#include <stdlib.h>
#include <stdarg.h>