All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] libsemanage: define basename macro for non-glibc systems
@ 2025-02-20 21:12 Rahul Sandhu
  2025-02-21  0:16 ` William Roberts
  0 siblings, 1 reply; 9+ messages in thread
From: Rahul Sandhu @ 2025-02-20 21:12 UTC (permalink / raw)
  To: selinux; +Cc: Rahul Sandhu

Passing a const char *path to basename(3) is a glibc specific
extension.

Signed-off-by: Rahul Sandhu <nvraxn@gmail.com>
---
 libsemanage/src/conf-parse.y | 3 +++
 libsemanage/src/direct_api.c | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/libsemanage/src/conf-parse.y b/libsemanage/src/conf-parse.y
index 6cb8a598..97cc5438 100644
--- a/libsemanage/src/conf-parse.y
+++ b/libsemanage/src/conf-parse.y
@@ -50,6 +50,9 @@ static external_prog_t *new_external;
 static int parse_errors;
 
 #define PASSIGN(p1,p2) { free(p1); p1 = p2; }
+#if !defined(__GLIBC__)
+#define basename(src) (strrchr(src, '/') ? strrchr(src, '/') + 1 : src)
+#endif
 
 %}
 
diff --git a/libsemanage/src/direct_api.c b/libsemanage/src/direct_api.c
index 99cba7f7..4459a7d7 100644
--- a/libsemanage/src/direct_api.c
+++ b/libsemanage/src/direct_api.c
@@ -63,6 +63,9 @@
 #define PIPE_READ 0
 #define PIPE_WRITE 1
 #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
+#if !defined(__GLIBC__)
+#define basename(src) (strrchr(src, '/') ? strrchr(src, '/') + 1 : src)
+#endif
 
 static void semanage_direct_destroy(semanage_handle_t * sh);
 static int semanage_direct_disconnect(semanage_handle_t * sh);
-- 
2.48.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2025-04-07 18:06 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-20 21:12 [PATCH] libsemanage: define basename macro for non-glibc systems Rahul Sandhu
2025-02-21  0:16 ` William Roberts
2025-02-21  0:50   ` William Roberts
2025-02-21  5:52     ` Rahul Sandhu
2025-02-21  9:03       ` Rahul Sandhu
2025-02-21  9:39         ` [PATCH v2] libsemanage: create semanage_basename to ensure posix compliance Rahul Sandhu
2025-03-08 23:24           ` Rahul Sandhu
2025-03-19 19:29           ` James Carter
2025-04-07 18:06             ` James Carter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.