diff options
author | joseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d> | 2012-11-17 17:50:14 +0000 |
---|---|---|
committer | joseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d> | 2012-11-17 17:50:14 +0000 |
commit | c27e56d74f3fb58f18e5381e49d30e1134b2005e (patch) | |
tree | 961e5061add44ed5f4bdded12ae6f2bb7d4c930a /libc/sysdeps/posix/sysconf.c | |
parent | 976bc9d4ac64f30edc1e8fa8ec7552703f04a6de (diff) | |
download | eglibc2-c27e56d74f3fb58f18e5381e49d30e1134b2005e.tar.gz |
Merge changes between r21628 and r21775 from /fsf/trunk.
git-svn-id: svn://svn.eglibc.org/trunk@21776 7b3dc134-2b1b-0410-93df-9e9f96275f8d
Diffstat (limited to 'libc/sysdeps/posix/sysconf.c')
-rw-r--r-- | libc/sysdeps/posix/sysconf.c | 95 |
1 files changed, 23 insertions, 72 deletions
diff --git a/libc/sysdeps/posix/sysconf.c b/libc/sysdeps/posix/sysconf.c index bfe28b47e..99043b755 100644 --- a/libc/sysdeps/posix/sysconf.c +++ b/libc/sysdeps/posix/sysconf.c @@ -790,80 +790,31 @@ __sysconf (name) return -1; #endif - case _SC_XBS5_ILP32_OFF32: -#ifdef _XBS5_ILP32_OFF32 - return _XBS5_ILP32_OFF32; -#else - return __sysconf_check_spec ("ILP32_OFF32"); -#endif - case _SC_XBS5_ILP32_OFFBIG: -#ifdef _XBS5_ILP32_OFFBIG - return _XBS5_ILP32_OFFBIG; -#else - return __sysconf_check_spec ("ILP32_OFFBIG"); -#endif - case _SC_XBS5_LP64_OFF64: -#ifdef _XBS5_LP64_OFF64 - return _XBS5_LP64_OFF64; -#else - return __sysconf_check_spec ("LP64_OFF64"); -#endif - case _SC_XBS5_LPBIG_OFFBIG: -#ifdef _XBS5_LPBIG_OFFBIG - return _XBS5_LPBIG_OFFBIG; -#else - return __sysconf_check_spec ("LPBIG_OFFBIG"); -#endif +#define START_ENV_GROUP(VERSION) \ + /* Empty. */ - case _SC_V6_ILP32_OFF32: -#ifdef _POSIX_V6_ILP32_OFF32 - return _POSIX_V6_ILP32_OFF32; -#else - return __sysconf_check_spec ("ILP32_OFF32"); -#endif - case _SC_V6_ILP32_OFFBIG: -#ifdef _POSIX_V6_ILP32_OFFBIG - return _POSIX_V6_ILP32_OFFBIG; -#else - return __sysconf_check_spec ("ILP32_OFFBIG"); -#endif - case _SC_V6_LP64_OFF64: -#ifdef _POSIX_V6_LP64_OFF64 - return _POSIX_V6_LP64_OFF64; -#else - return __sysconf_check_spec ("LP64_OFF64"); -#endif - case _SC_V6_LPBIG_OFFBIG: -#ifdef _POSIX_V6_LPBIG_OFFBIG - return _POSIX_V6_LPBIG_OFFBIG; -#else - return __sysconf_check_spec ("LPBIG_OFFBIG"); -#endif +#define END_ENV_GROUP(VERSION) \ + /* Empty. */ - case _SC_V7_ILP32_OFF32: -#ifdef _POSIX_V7_ILP32_OFF32 - return _POSIX_V7_ILP32_OFF32; -#else - return __sysconf_check_spec ("ILP32_OFF32"); -#endif - case _SC_V7_ILP32_OFFBIG: -#ifdef _POSIX_V7_ILP32_OFFBIG - return _POSIX_V7_ILP32_OFFBIG; -#else - return __sysconf_check_spec ("ILP32_OFFBIG"); -#endif - case _SC_V7_LP64_OFF64: -#ifdef _POSIX_V7_LP64_OFF64 - return _POSIX_V7_LP64_OFF64; -#else - return __sysconf_check_spec ("LP64_OFF64"); -#endif - case _SC_V7_LPBIG_OFFBIG: -#ifdef _POSIX_V7_LPBIG_OFFBIG - return _POSIX_V7_LPBIG_OFFBIG; -#else - return __sysconf_check_spec ("LPBIG_OFFBIG"); -#endif +#define KNOWN_ABSENT_ENVIRONMENT(SC_PREFIX, ENV_PREFIX, SUFFIX) \ + case _SC_##SC_PREFIX##_##SUFFIX: \ + return _##ENV_PREFIX##_##SUFFIX; + +#define KNOWN_PRESENT_ENVIRONMENT(SC_PREFIX, ENV_PREFIX, SUFFIX) \ + case _SC_##SC_PREFIX##_##SUFFIX: \ + return _##ENV_PREFIX##_##SUFFIX; + +#define UNKNOWN_ENVIRONMENT(SC_PREFIX, ENV_PREFIX, SUFFIX) \ + case _SC_##SC_PREFIX##_##SUFFIX: \ + return __sysconf_check_spec (#SUFFIX); + +#include <posix/posix-envs.def> + +#undef START_ENV_GROUP +#undef END_ENV_GROUP +#undef KNOWN_ABSENT_ENVIRONMENT +#undef KNOWN_PRESENT_ENVIRONMENT +#undef UNKNOWN_ENVIRONMENT case _SC_XOPEN_LEGACY: return _XOPEN_LEGACY; |