summary refs log tree commit diff
path: root/posix
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2001-04-25 01:11:30 +0000
committerUlrich Drepper <drepper@redhat.com>2001-04-25 01:11:30 +0000
commit280f4add8a69e0cf549bbe09e067424d8394a079 (patch)
treef214df4bbf17411b87667784a1586af773b1bd3c /posix
parent216c24b76d3a6085d9e9509d1b874093acfabfed (diff)
downloadglibc-280f4add8a69e0cf549bbe09e067424d8394a079.tar.gz
glibc-280f4add8a69e0cf549bbe09e067424d8394a079.tar.xz
glibc-280f4add8a69e0cf549bbe09e067424d8394a079.zip
Update.
	* sysdeps/generic/bits/confname.h: Add _CS_V6_WIDTH_RESTRICTED_ENVS.
	* posix/confstr.c: Handle _CS_V6_WIDTH_RESTRICTED_ENVS.
	* posix/getconf.c: Handle _POSIX_V6_WIDTH_RESTRICTED_ENVS.
	* posix/tst-getconf.sh: Add _POSIX_V6_WIDTH_RESTRICTED_ENVS.
Diffstat (limited to 'posix')
-rw-r--r--posix/confstr.c38
-rw-r--r--posix/getconf.c4
-rw-r--r--posix/tst-getconf.sh1
3 files changed, 43 insertions, 0 deletions
diff --git a/posix/confstr.c b/posix/confstr.c
index 487e5fe28a..053e9ed247 100644
--- a/posix/confstr.c
+++ b/posix/confstr.c
@@ -57,6 +57,44 @@ confstr (name, buf, len)
       break;
 #endif
 
+    case _CS_V6_WIDTH_RESTRICTED_ENVS:
+      /* We have to return a newline-separated list of named of
+	 programming environements in which the widths of blksize_t,
+	 cc_t, mode_t, nfds_t, pid_t, ptrdiff_t, size_t, speed_t,
+	 ssize_t, suseconds_t, tcflag_t, useconds_t, wchar_t, and
+	 wint_t types are no greater than the width of type long.
+
+	 Currently this means all environment which the system allows.  */
+      {
+	static const char restenvs[] =
+#if _POSIX_V6_ILP32_OFF32 > 0
+	"_POSIX_V6_ILP32_OFF32"
+#endif
+#if _POSIX_V6_ILP32_OFFBIG > 0
+# if _POSIX_V6_ILP32_OFF32 > 0
+	"\n"
+# endif
+	"_POSIX_V6_ILP32_OFFBIG"
+#endif
+#if _POSIX_V6_LP64_OFF64 > 0
+# if _POSIX_V6_ILP32_OFF32 > 0 || _POSIX_V6_ILP32_OFFBIG > 0
+	"\n"
+# endif
+	"_POSIX_V6_LP64_OFF64"
+#endif
+#if _POSIX_V6_LPBIG_OFFBIG > 0
+# if _POSIX_V6_ILP32_OFF32 > 0 || _POSIX_V6_ILP32_OFFBIG > 0 \
+     || _POSIX_V6_LP64_OFF64 > 0
+	"\n"
+# endif
+	"_POSIX_V6_LPBIG_OFFBIG"
+#endif
+	  ;
+	string = restenvs;
+	string_len = sizeof (restenvs);
+      }
+      break;
+
     case _CS_LFS_LINTFLAGS:
     case _CS_LFS_LDFLAGS:
     case _CS_LFS_LIBS:
diff --git a/posix/getconf.c b/posix/getconf.c
index 9458e1ef4b..8d5197e730 100644
--- a/posix/getconf.c
+++ b/posix/getconf.c
@@ -609,6 +609,10 @@ static const struct conf vars[] =
     { "POSIX_V6_ILP32_OFF32_LINTFLAGS", _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS, CONFSTR },
 #endif
 
+#ifdef _CS_V6_WIDTH_RESTRICTED_ENVS
+    { "_POSIX_V6_WIDTH_RESTRICTED_ENVS", _CS_V6_WIDTH_RESTRICTED_ENVS, CONFSTR },
+#endif
+
 #ifdef _SC_V6_ILP32_OFFBIG
     { "_POSIX_V6_ILP32_OFFBIG", _SC_V6_ILP32_OFFBIG, SYSCONF },
 #endif
diff --git a/posix/tst-getconf.sh b/posix/tst-getconf.sh
index e8f27b323f..6b5c433b8a 100644
--- a/posix/tst-getconf.sh
+++ b/posix/tst-getconf.sh
@@ -111,6 +111,7 @@ _POSIX_V6_ILP32_OFF32
 _POSIX_V6_ILP32_OFFBIG
 _POSIX_V6_LP64_OFF64
 _POSIX_V6_LPBIG_OFFBIG
+_POSIX_V6_WIDTH_RESTRICTED_ENVS
 POSIX2_C_BIND
 POSIX2_C_DEV
 POSIX2_C_VERSION