提交 8f035960 编写于 作者: R Rich Felker

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.
上级 38b9c027
......@@ -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
......
......@@ -5,6 +5,7 @@
extern "C" {
#endif
#include <features.h>
#include <nl_types.h>
#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);
......
......@@ -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. */
......
......@@ -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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册