This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Fix getconf


Hi!

http://www.opengroup.org/onlinepubs/009695399/basedefs/unistd.h.html
says about _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS:
The format of each name shall be suitable for use with the getconf
-v option.
and http://www.opengroup.org/onlinepubs/009695399/utilities/getconf.html
clearly uses POSIX_V6_* as arguments to -v option.
So we should not print _POSIX_V6_* but POSIX_V6_* and adjust
/usr/libexec/getconf/ filenames accordingly.

2004-12-13  Jakub Jelinek  <jakub@redhat.com>

	* posix/getconf.c (main): Prepend just $GETCONF_DIR/ instead of
	$GETCONF_DIR/_ to spec.
	* posix/confstr.c (confstr): Remove leading underscores for
	_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS.

--- libc/posix/confstr.c.jj	2004-12-06 12:40:55.000000000 +0100
+++ libc/posix/confstr.c	2004-12-13 12:29:59.189578287 +0100
@@ -55,7 +55,7 @@ confstr (name, buf, len)
 
 	 Currently this means all environment which the system allows.  */
       {
-	char restenvs[4 * sizeof "_POSIX_V6_LPBIG_OFFBIG"];
+	char restenvs[4 * sizeof "POSIX_V6_LPBIG_OFFBIG"];
 
 	string_len = 0;
 #ifndef _POSIX_V6_ILP32_OFF32
@@ -63,9 +63,9 @@ confstr (name, buf, len)
 #endif
 #if !defined _POSIX_V6_ILP32_OFF32 || _POSIX_V6_ILP32_OFF32 > 0
           {
-            memcpy (restenvs + string_len, "_POSIX_V6_ILP32_OFF32",
-                    sizeof "_POSIX_V6_ILP32_OFF32" - 1);
-            string_len += sizeof "_POSIX_V6_ILP32_OFF32" - 1;
+            memcpy (restenvs + string_len, "POSIX_V6_ILP32_OFF32",
+                    sizeof "POSIX_V6_ILP32_OFF32" - 1);
+            string_len += sizeof "POSIX_V6_ILP32_OFF32" - 1;
           }
 #endif
 #ifndef _POSIX_V6_ILP32_OFFBIG
@@ -75,9 +75,9 @@ confstr (name, buf, len)
           {
             if (string_len)
               restenvs[string_len++] = '\n';
-            memcpy (restenvs + string_len, "_POSIX_V6_ILP32_OFFBIG",
-                    sizeof "_POSIX_V6_ILP32_OFFBIG" - 1);
-            string_len += sizeof "_POSIX_V6_ILP32_OFFBIG" - 1;
+            memcpy (restenvs + string_len, "POSIX_V6_ILP32_OFFBIG",
+                    sizeof "POSIX_V6_ILP32_OFFBIG" - 1);
+            string_len += sizeof "POSIX_V6_ILP32_OFFBIG" - 1;
           }
 #endif
 #ifndef _POSIX_V6_LP64_OFF64
@@ -87,9 +87,9 @@ confstr (name, buf, len)
           {
             if (string_len)
               restenvs[string_len++] = '\n';
-            memcpy (restenvs + string_len, "_POSIX_V6_LP64_OFF64",
-                    sizeof "_POSIX_V6_LP64_OFF64" - 1);
-            string_len += sizeof "_POSIX_V6_LP64_OFF64" - 1;
+            memcpy (restenvs + string_len, "POSIX_V6_LP64_OFF64",
+                    sizeof "POSIX_V6_LP64_OFF64" - 1);
+            string_len += sizeof "POSIX_V6_LP64_OFF64" - 1;
           }
 #endif
 #ifndef _POSIX_V6_LPBIG_OFFBIG
@@ -99,9 +99,9 @@ confstr (name, buf, len)
           {
             if (string_len)
               restenvs[string_len++] = '\n';
-            memcpy (restenvs + string_len, "_POSIX_V6_LPBIG_OFFBIG",
-                    sizeof "_POSIX_V6_LPBIG_OFFBIG" - 1);
-            string_len += sizeof "_POSIX_V6_LPBIG_OFFBIG" - 1;
+            memcpy (restenvs + string_len, "POSIX_V6_LPBIG_OFFBIG",
+                    sizeof "POSIX_V6_LPBIG_OFFBIG" - 1);
+            string_len += sizeof "POSIX_V6_LPBIG_OFFBIG" - 1;
           }
 #endif
         restenvs[string_len++] = '\0';
--- libc/posix/getconf.c.jj	2004-12-13 09:39:45.000000000 +0100
+++ libc/posix/getconf.c	2004-12-13 12:24:50.442826735 +0100
@@ -997,7 +997,7 @@ warranty; not even for MERCHANTABILITY o
     {
       char default_name[getconf_dirlen + sizeof "/default"];
       memcpy (mempcpy (default_name, getconf_dir, getconf_dirlen),
-              "/default", sizeof "/default");
+	      "/default", sizeof "/default");
       int len = readlink (default_name, buf, sizeof buf - 1);
       if (len > 0)
 	{
@@ -1034,10 +1034,10 @@ warranty; not even for MERCHANTABILITY o
 	    {
 	      const char *args[argc + 3];
 	      size_t spec_len = strlen (spec);
-	      char getconf_name[getconf_dirlen + 2 + spec_len + 1];
+	      char getconf_name[getconf_dirlen + 1 + spec_len + 1];
 	      memcpy (mempcpy (mempcpy (getconf_name, getconf_dir,
-	                                getconf_dirlen),
-                               "/_", 2), spec, spec_len + 1);
+					getconf_dirlen),
+			       "/", 1), spec, spec_len + 1);
 	      args[0] = argv0;
 	      args[1] = "-v";
 	      args[2] = spec;

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]