summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--extra/Configs/Config.in8
-rw-r--r--include/string.h4
2 files changed, 11 insertions, 1 deletions
diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in
index fcf64c509..b3d9250f0 100644
--- a/extra/Configs/Config.in
+++ b/extra/Configs/Config.in
@@ -462,6 +462,14 @@ config UCLIBC_SUSV3_LEGACY
Currently applies to bcopy/bzero/bcmp/index/rindex.
WARNING! ABI incompatibility.
+config UCLIBC_SUSV3_LEGACY_MACROS
+ bool "Enable SuSv3 LEGACY macros"
+ default n
+ help
+ Enable this option if you want to have SuSv3 LEGACY macros.
+ Currently applies to bcopy/bzero/bcmp/index/rindex et al.
+ WARNING! ABI incompatibility.
+
config UCLIBC_HAS_SHADOW
bool "Shadow Password Support"
default y
diff --git a/include/string.h b/include/string.h
index dd5f23f2b..87d953449 100644
--- a/include/string.h
+++ b/include/string.h
@@ -321,8 +321,9 @@ extern char *index (__const char *__s, int __c)
extern char *rindex (__const char *__s, int __c)
__THROW __attribute_pure__ __nonnull ((1));
# else
+# ifdef __UCLIBC_SUSV3_LEGACY_MACROS__
/* bcopy/bzero/bcmp/index/rindex are marked LEGACY in SuSv3.
- * They are replaced as proposed by SuSv3. Don't sync this part
+ * They are replaced as proposed by SuSv3. Don't sync this part
* with glibc and keep it in sync with strings.h. */
# define bcopy(src,dest,n) (memmove((dest), (src), (n)), (void) 0)
@@ -330,6 +331,7 @@ extern char *rindex (__const char *__s, int __c)
# define bcmp(s1,s2,n) memcmp((s1), (s2), (size_t)(n))
# define index(s,c) strchr((s), (c))
# define rindex(s,c) strrchr((s), (c))
+# endif
# endif
/* Return the position of the first bit set in I, or 0 if none are set.