diff --git a/newlib/libc/include/string.h b/newlib/libc/include/string.h index 68ee41285..56c7fc25b 100644 --- a/newlib/libc/include/string.h +++ b/newlib/libc/include/string.h @@ -46,7 +46,7 @@ size_t _EXFUN(strxfrm,(char *__restrict, const char *__restrict, size_t)); #if __MISC_VISIBLE || __POSIX_VISIBLE char *_EXFUN(strtok_r,(char *__restrict, const char *__restrict, char **__restrict)); #endif -#if __BSD_VISIBLE || (__POSIX_VISIBLE && __POSIX_VISIBLE < 200809) +#if __BSD_VISIBLE /* POSIX declaration is in */ int _EXFUN(bcmp,(const void *, const void *, size_t)); void _EXFUN(bcopy,(const void *, void *, size_t)); void _EXFUN(bzero,(void *, size_t)); @@ -56,10 +56,8 @@ void _EXFUN(explicit_bzero,(void *, size_t)); int _EXFUN(timingsafe_bcmp,(const void *, const void *, size_t)); int _EXFUN(timingsafe_memcmp,(const void *, const void *, size_t)); #endif -#if __MISC_VISIBLE || __POSIX_VISIBLE >= 200809 +#if __BSD_VISIBLE /* POSIX declaration is in */ int _EXFUN(ffs,(int)); -#endif -#if __BSD_VISIBLE || (__POSIX_VISIBLE && __POSIX_VISIBLE < 200809) char *_EXFUN(index,(const char *, int)); #endif #if __MISC_VISIBLE || __POSIX_VISIBLE @@ -71,12 +69,14 @@ _PTR _EXFUN(memmem, (const _PTR, size_t, const _PTR, size_t)); _PTR _EXFUN(memrchr,(const _PTR, int, size_t)); _PTR _EXFUN(rawmemchr,(const _PTR, int)); #endif -#if __BSD_VISIBLE || (__POSIX_VISIBLE && __POSIX_VISIBLE < 200809) +#if __BSD_VISIBLE /* POSIX declaration is in */ char *_EXFUN(rindex,(const char *, int)); #endif +#if __POSIX_VISIBLE >= 200809 char *_EXFUN(stpcpy,(char *__restrict, const char *__restrict)); char *_EXFUN(stpncpy,(char *__restrict, const char *__restrict, size_t)); -#if __BSD_VISIBLE || __POSIX_VISIBLE +#endif +#if __BSD_VISIBLE /* POSIX declaration is in */ int _EXFUN(strcasecmp,(const char *, const char *)); #endif #if __GNU_VISIBLE @@ -123,7 +123,7 @@ char * _EXFUN(_strerror_r, (struct _reent *, int, int, int *)); size_t _EXFUN(strlcat,(char *, const char *, size_t)); size_t _EXFUN(strlcpy,(char *, const char *, size_t)); #endif -#if __BSD_VISIBLE || __POSIX_VISIBLE +#if __BSD_VISIBLE /* POSIX declaration is in */ int _EXFUN(strncasecmp,(const char *, const char *, size_t)); #endif #if __POSIX_VISIBLE >= 200809 diff --git a/newlib/libc/include/strings.h b/newlib/libc/include/strings.h index fdccfca30..e467467ac 100644 --- a/newlib/libc/include/strings.h +++ b/newlib/libc/include/strings.h @@ -7,6 +7,9 @@ #ifndef _STRINGS_H_ #define _STRINGS_H_ +/* These functions are already declared in with __BSD_VISIBLE */ +#if !(defined(_STRING_H_) && __BSD_VISIBLE) + #include "_ansi.h" #include #include @@ -32,4 +35,6 @@ int _EXFUN(strncasecmp,(const char *, const char *, size_t)); _END_STD_C +#endif /* !(_STRING_H_ && __BSD_VISIBLE) */ + #endif /* _STRINGS_H_ */