From 8f0359605a24277e3d67f2b9e3477437a7d38706 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Sun, 20 Oct 2013 22:01:51 -0400 Subject: [PATCH] fix multiple minor namespace issues in headers fcntl.h: AT_* is not a reserved namespace so extensions cannot be exposed by default. langinfo.h: YESSTR and NOSTR were removed from the standard. limits.h: NL_NMAX was removed from the standard. signal.h: the conditional for NSIG was wrongly checking _XOPEN_SOURCE rather than _BSD_SOURCE. this was purely a mistake; it doesn't even match the commit message from the commit that added it. --- include/fcntl.h | 5 +++-- include/langinfo.h | 4 ++++ include/limits.h | 8 +++++++- include/signal.h | 5 +---- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/include/fcntl.h b/include/fcntl.h index b9bc2695..55a89f9c 100644 --- a/include/fcntl.h +++ b/include/fcntl.h @@ -59,8 +59,6 @@ int posix_fallocate(int, off_t, off_t); #define AT_REMOVEDIR 0x200 #define AT_SYMLINK_FOLLOW 0x400 #define AT_EACCESS 0x200 -#define AT_NO_AUTOMOUNT 0x800 -#define AT_EMPTY_PATH 0x1000 #define POSIX_FADV_NORMAL 0 #define POSIX_FADV_RANDOM 1 @@ -95,6 +93,9 @@ int posix_fallocate(int, off_t, off_t); #endif #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define AT_NO_AUTOMOUNT 0x800 +#define AT_EMPTY_PATH 0x1000 + #define FAPPEND O_APPEND #define FFSYNC O_FSYNC #define FASYNC O_ASYNC diff --git a/include/langinfo.h b/include/langinfo.h index c6349ad1..2153c42e 100644 --- a/include/langinfo.h +++ b/include/langinfo.h @@ -5,6 +5,7 @@ extern "C" { #endif +#include #include #define __NEED_locale_t @@ -75,8 +76,11 @@ extern "C" { #define THOUSEP 0x10001 #define YESEXPR 0x50000 #define NOEXPR 0x50001 + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) #define YESSTR 0x50002 #define NOSTR 0x50003 +#endif char *nl_langinfo(nl_item); char *nl_langinfo_l(nl_item, locale_t); diff --git a/include/limits.h b/include/limits.h index a8460cc8..574b406a 100644 --- a/include/limits.h +++ b/include/limits.h @@ -84,12 +84,18 @@ #define NL_ARGMAX 9 #define NL_LANGMAX 32 #define NL_MSGMAX 32767 -#define NL_NMAX (MB_LEN_MAX*4) #define NL_SETMAX 255 #define NL_TEXTMAX 2048 #endif +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) \ + || (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE+0 < 700) + +#define NL_NMAX 16 + +#endif + /* POSIX/SUS requirements follow. These numbers come directly * from SUS and have nothing to do with the host system. */ diff --git a/include/signal.h b/include/signal.h index e65a8065..6f10a118 100644 --- a/include/signal.h +++ b/include/signal.h @@ -218,11 +218,8 @@ void (*sigset(int, void (*)(int)))(int); #define SIGSTKSZ 8192 #endif -#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) -#define NSIG _NSIG -#endif - #if defined(_BSD_SOURCE) || defined(_GNU_SOURCE) +#define NSIG _NSIG typedef void (*sig_t)(int); #endif -- 2.25.1