aboutsummaryrefslogtreecommitdiffstats
path: root/include/string.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--include/string.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/include/string.h b/include/string.h
index a351e8d..c988b2e 100644
--- a/include/string.h
+++ b/include/string.h
@@ -1072,6 +1072,25 @@ char* strsep(char** restrict, const char* restrict)
__GCC_ONLY(__attribute__((warn_unused_result, nonnull)));
+#if defined(_GNU_SOURCE) && !defined(__PORTABLE) && !defined(basename)
+/**
+ * Get the basename of a filename.
+ *
+ * This is a GNU extension, include <libgen.h>
+ * to override it with the XPG-compliant implementation.
+ *
+ * @param filename The filename.
+ * @return The basename, it is either a substring
+ * of `filename` or, if `filename` is `NULL`
+ * or is empty, a statically allocationed string,
+ * so it must not freed or edited.
+ */
+char* __gnu_basename(const char*)
+ __GCC_ONLY(__attribute__((warn_unused_result)));
+# define basename __gnu_basename
+#endif
+
+
#endif