From 1c028ca33dc059a9d8f18daafcd77b5950268f41 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Fri, 8 Apr 2016 18:25:59 -0500 Subject: Redefining basename_r to mean something random seems popular (bionic and freebsd both did it) so use getbasename instead. --- lib/lib.c | 5 ++++- lib/lib.h | 2 +- lib/portability.h | 10 +--------- 3 files changed, 6 insertions(+), 11 deletions(-) (limited to 'lib') diff --git a/lib/lib.c b/lib/lib.c index 3ca7052a..0380c13b 100644 --- a/lib/lib.c +++ b/lib/lib.c @@ -919,11 +919,14 @@ void mode_to_string(mode_t mode, char *buf) *buf = c; } -char *basename_r(char *name) +// basename() can modify its argument or return a pointer to a constant string +// This just gives after the last '/' or the whole stirng if no / +char *getbasename(char *name) { char *s = strrchr(name, '/'); if (s) return s+1; + return name; } diff --git a/lib/lib.h b/lib/lib.h index 52ddc28e..23a3b2b3 100644 --- a/lib/lib.h +++ b/lib/lib.h @@ -286,7 +286,7 @@ char *num_to_sig(int sig); mode_t string_to_mode(char *mode_str, mode_t base); void mode_to_string(mode_t mode, char *buf); -char *basename_r(char *name); +char *getbasename(char *name); void names_to_pid(char **names, int (*callback)(pid_t pid, char *name)); pid_t xvforkwrap(pid_t pid); diff --git a/lib/portability.h b/lib/portability.h index d11cc9c6..fdee5fcf 100644 --- a/lib/portability.h +++ b/lib/portability.h @@ -157,19 +157,11 @@ int utimensat(int fd, const char *path, const struct timespec times[2], int flag #endif // glibc in general -#if !defined(__GLIBC__) && !defined(__BIONIC__) +#if !defined(__GLIBC__) // POSIX basename. #include #endif -// glibc was handled above; for 32-bit bionic we need to avoid a collision -// with toybox's basename_r so we can't include even though that -// would give us a POSIX basename(3). -#if defined(__BIONIC__) -char *basename(char *path); -char *dirname(char *path); -#endif - // Work out how to do endianness #ifndef __APPLE__ -- cgit v1.2.3