aboutsummaryrefslogtreecommitdiff
path: root/lib/portability.h
diff options
context:
space:
mode:
authorRob Landley <rob@landley.net>2015-01-18 13:44:24 -0600
committerRob Landley <rob@landley.net>2015-01-18 13:44:24 -0600
commit468f155ecefec275e6d2299470d35bd912f69a94 (patch)
tree8d84fadd049c0d1475946706f64b9c7f19037a04 /lib/portability.h
parente910826c812fcde8d122990a1e43e17f46b6d03f (diff)
downloadtoybox-468f155ecefec275e6d2299470d35bd912f69a94.tar.gz
Lift the basename/libgen.h shenanigans back out of portability.c and make it a static inline in portability.h, and prototype dirname() while we're at it.
Diffstat (limited to 'lib/portability.h')
-rw-r--r--lib/portability.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/portability.h b/lib/portability.h
index bb1f5aee..143d10f6 100644
--- a/lib/portability.h
+++ b/lib/portability.h
@@ -66,8 +66,12 @@ char *strptime(const char *buf, const char *format, struct tm *tm);
// the table entry for the basename command. They didn't make a new function
// with a different name for their new behavior because gnu.
//
-// Implement our own in portability.c and don't use their broken header.
-char *basename(char *path);
+// Solution: don't use their broken header, provide an inline to redirect the
+// correct name to the broken name.
+
+char *dirname(char *path);
+char *__xpg_basename (char *path);
+static inline char *basename(char *path) { return __xpg_basename(path); }
// uClibc pretends to be glibc and copied a lot of its bugs, but has a few more
#if defined(__UCLIBC__)
@@ -137,9 +141,9 @@ int utimensat(int fd, const char *path, const struct timespec times[2], int flag
#ifndef MNT_DETACH
#define MNT_DETACH 2
#endif
-#endif
+#endif // Old glibc
-#endif
+#endif // glibc in general
#ifndef __GLIBC__
// POSIX basename.