diff mbox series

[v2] mesh: Move local basename into utility file

Message ID 20240917031745.1641153-1-raj.khem@gmail.com
State New
Headers show
Series [v2] mesh: Move local basename into utility file | expand

Commit Message

Khem Raj Sept. 17, 2024, 3:17 a.m. UTC
Defining an override via a missing.h can prove difficult when a file
needs to use basename and dirname both the APIs and needs to include
libgen.h for them, in such situations there will be signature clash
for basename function.
---
v2: Remove reference to missing.h in Makefile.mesh

 Makefile.mesh           |  2 +-
 mesh/mesh-config-json.c |  3 +--
 mesh/missing.h          | 21 ---------------------
 mesh/rpl.c              |  3 +--
 mesh/util.c             | 10 ++++++++++
 mesh/util.h             |  5 +++++
 6 files changed, 18 insertions(+), 26 deletions(-)
 delete mode 100644 mesh/missing.h
diff mbox series

Patch

diff --git a/Makefile.mesh b/Makefile.mesh
index f5e99a955..e4c9fa6a3 100644
--- a/Makefile.mesh
+++ b/Makefile.mesh
@@ -38,7 +38,7 @@  mesh_sources = mesh/mesh.h mesh/mesh.c \
 				mesh/keyring.h mesh/keyring.c \
 				mesh/rpl.h mesh/rpl.c \
 				mesh/prv-beacon.h mesh/prvbeac-server.c \
-				mesh/mesh-defs.h mesh/missing.h
+				mesh/mesh-defs.h
 pkglibexec_PROGRAMS += mesh/bluetooth-meshd
 
 mesh/mesh.$(OBJEXT): ell/internal
diff --git a/mesh/mesh-config-json.c b/mesh/mesh-config-json.c
index a17a48b6d..5372130d7 100644
--- a/mesh/mesh-config-json.c
+++ b/mesh/mesh-config-json.c
@@ -28,7 +28,6 @@ 
 #include <ell/ell.h>
 #include <json-c/json.h>
 
-#include "mesh/missing.h"
 #include "mesh/mesh-defs.h"
 #include "mesh/util.h"
 #include "mesh/mesh-config.h"
@@ -2708,7 +2707,7 @@  void mesh_config_destroy_nvm(struct mesh_config *cfg)
 	if (!hex2str(cfg->uuid, 16, uuid, sizeof(uuid)))
 		return;
 
-	node_name = basename(node_dir);
+	node_name = mesh_basename(node_dir);
 
 	/* Make sure path name of node follows expected guidelines */
 	if (strcmp(node_name, uuid))
diff --git a/mesh/missing.h b/mesh/missing.h
deleted file mode 100644
index 464df9b1c..000000000
--- a/mesh/missing.h
+++ /dev/null
@@ -1,21 +0,0 @@ 
-// SPDX-License-Identifier: LGPL-2.1-or-later
-/*
- *
- *  BlueZ - Bluetooth protocol stack for Linux
- *
- *  Copyright (C) 2024  Khem Raj <raj.khem@gmail.com>
- *
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#if !HAVE_DECL_BASENAME
-#include <string.h>
-static inline const char *basename(const char *path)
-{
-	const char *base = strrchr(path, '/');
-
-	return base ? base + 1 : path;
-}
-#endif
diff --git a/mesh/rpl.c b/mesh/rpl.c
index 2fa17d72f..69533bf43 100644
--- a/mesh/rpl.c
+++ b/mesh/rpl.c
@@ -24,7 +24,6 @@ 
 
 #include <ell/ell.h>
 
-#include "mesh/missing.h"
 #include "mesh/mesh-defs.h"
 
 #include "mesh/node.h"
@@ -147,7 +146,7 @@  static void get_entries(const char *iv_path, struct l_queue *rpl_list)
 	if (!dir)
 		return;
 
-	iv_txt = basename(iv_path);
+	iv_txt = mesh_basename(iv_path);
 	if (sscanf(iv_txt, "%08x", &iv_index) != 1) {
 		closedir(dir);
 		return;
diff --git a/mesh/util.c b/mesh/util.c
index 82b57f642..73f13aab7 100644
--- a/mesh/util.c
+++ b/mesh/util.c
@@ -161,3 +161,13 @@  void enable_debug(void)
 	debug_enabled = true;
 	l_debug_enable("*");
 }
+
+#if !HAVE_DECL_BASENAME
+#include <string.h>
+const char *mesh_basename(const char *path)
+{
+	const char *base = strrchr(path, '/');
+
+	return base ? base + 1 : path;
+}
+#endif
diff --git a/mesh/util.h b/mesh/util.h
index 085ec3330..bb417dc40 100644
--- a/mesh/util.h
+++ b/mesh/util.h
@@ -16,3 +16,8 @@  void print_packet(const char *label, const void *data, uint16_t size);
 int create_dir(const char *dir_name);
 void del_path(const char *path);
 void enable_debug(void);
+#if !HAVE_DECL_BASENAME
+const char *mesh_basename(const char *path);
+#else
+#define mesh_basename basename
+#endif