diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2012-10-22 15:16:48 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2012-10-22 15:16:48 +0000 |
commit | 6f7ae529ad402902fb731d2144f3e914b3eaed3f (patch) | |
tree | 96e35b9a5ba9c2e647f2bda5a2b716a91a18e2d8 /newlib/libc/include | |
parent | e0543989801aea12c95505e4d575153d88ecd3f1 (diff) | |
download | cygnal-6f7ae529ad402902fb731d2144f3e914b3eaed3f.tar.gz cygnal-6f7ae529ad402902fb731d2144f3e914b3eaed3f.tar.bz2 cygnal-6f7ae529ad402902fb731d2144f3e914b3eaed3f.zip |
* libc/include/string.h (strdup, strndup): Declare if not
__STRICT_ANSI__ or _XOPEN_SOURCE is defined appropriately.
Diffstat (limited to 'newlib/libc/include')
-rw-r--r-- | newlib/libc/include/string.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/newlib/libc/include/string.h b/newlib/libc/include/string.h index ef0402fb8..fad0ef3d0 100644 --- a/newlib/libc/include/string.h +++ b/newlib/libc/include/string.h @@ -10,6 +10,7 @@ #include "_ansi.h" #include <sys/reent.h> #include <sys/cdefs.h> +#include <sys/features.h> #define __need_size_t #include <stddef.h> @@ -65,9 +66,17 @@ char *_EXFUN(stpncpy,(char *, const char *, size_t)); int _EXFUN(strcasecmp,(const char *, const char *)); char *_EXFUN(strcasestr,(const char *, const char *)); char *_EXFUN(strchrnul,(const char *, int)); +#endif +#if !defined(__STRICT_ANSI__) || (_XOPEN_SOURCE >= 500) char *_EXFUN(strdup,(const char *)); +#endif +#ifndef __STRICT_ANSI__ char *_EXFUN(_strdup_r,(struct _reent *, const char *)); +#endif +#if !defined(__STRICT_ANSI__) || (_XOPEN_SOURCE >= 700) char *_EXFUN(strndup,(const char *, size_t)); +#endif +#ifndef __STRICT_ANSI__ char *_EXFUN(_strndup_r,(struct _reent *, const char *, size_t)); /* There are two common strerror_r variants. If you request _GNU_SOURCE, you get the GNU version; otherwise you get the POSIX |