summaryrefslogtreecommitdiff
path: root/lib/mlibc/options/glibc/generic/string.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mlibc/options/glibc/generic/string.cpp')
-rw-r--r--lib/mlibc/options/glibc/generic/string.cpp32
1 files changed, 0 insertions, 32 deletions
diff --git a/lib/mlibc/options/glibc/generic/string.cpp b/lib/mlibc/options/glibc/generic/string.cpp
deleted file mode 100644
index 19f77c7..0000000
--- a/lib/mlibc/options/glibc/generic/string.cpp
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef _GNU_SOURCE
-# define _GNU_SOURCE
-#endif
-#include <type_traits>
-#include <string.h>
-
-/* This is a bit of a weird detail of the GNU implementation and C's lack of
- * overloading and strictness: GNU takes const char * and returns a char * so
- * that it autocasts to your desired constness, this function never actually
- * modifies the string.
- */
-char *__mlibc_gnu_basename_c(const char *path) {
- char *basename_component = strrchr(path, '/');
- if (!basename_component) {
- return const_cast<char *>(path);
- }
- return basename_component + 1;
-}
-
-
-/* GNU exposes these overloads, and as a result, we should probably have them
- * checked, to make sure we actually match expectations.
- */
-static_assert(
- std::is_same_v<decltype(basename((const char *)nullptr)), const char*>,
- "C++ overloads broken"
-);
-
-static_assert(
- std::is_same_v<decltype(basename((char *)nullptr)), char*>,
- "C++ overloads broken"
-);