changeset 12820:c26a1084fbae

test-userspec.c: avoid compiler warnings * tests/test-userspec.c (main): Avoid shadowing ("uid"), and "initialization discards qualifiers..." warnings. Put the first "uid" in its own scope, and make char* members "const".
author Jim Meyering <meyering@redhat.com>
date Tue, 26 Jan 2010 09:51:26 +0100
parents 4b5bf4c79e0c
children 25e5866618c7
files ChangeLog tests/test-userspec.c
diffstat 2 files changed, 41 insertions(+), 29 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2010-01-26  Jim Meyering  <meyering@redhat.com>
+
+	test-userspec.c: avoid compiler warnings
+	* tests/test-userspec.c (main): Avoid shadowing ("uid"),
+	and "initialization discards qualifiers..." warnings.
+	Put the first "uid" in its own scope, and make char* members "const".
+
 2010-01-25  Bruno Haible  <bruno@clisp.org>
 
 	gnulib-tool: Make warning diagnostics consistent.
--- a/tests/test-userspec.c
+++ b/tests/test-userspec.c
@@ -35,12 +35,12 @@
 
 struct test
 {
-  char *in;
+  const char *in;
   uid_t uid;
   gid_t gid;
-  char *user_name;
-  char *group_name;
-  char *result;
+  const char *user_name;
+  const char *group_name;
+  const char *result;
 };
 
 static struct test T[] =
@@ -101,36 +101,41 @@
 {
   unsigned int i;
   int fail = 0;
-  uid_t uid;
 
   /* Find a UID that has both a user name and login group name,
      but skip UID 0.  */
-  for (uid = 1200; 0 < uid; uid--)
-    {
-      struct group *gr;
-      struct passwd *pw = getpwuid (uid);
-      unsigned int j;
-      size_t len;
-      if (!pw || !pw->pw_name || !(gr = getgrgid (pw->pw_gid)) || !gr->gr_name)
-        continue;
-      j = ARRAY_CARDINALITY (T) - 2;
-      assert (T[j].in == NULL);
-      assert (T[j+1].in == NULL);
-      len = strlen (pw->pw_name);
+  {
+    uid_t uid;
+    for (uid = 1200; 0 < uid; uid--)
+      {
+        struct group *gr;
+        struct passwd *pw = getpwuid (uid);
+        unsigned int j;
+        size_t len;
+        if (!pw || !pw->pw_name || !(gr = getgrgid (pw->pw_gid)) || !gr->gr_name)
+          continue;
+        j = ARRAY_CARDINALITY (T) - 2;
+        assert (T[j].in == NULL);
+        assert (T[j+1].in == NULL);
+        len = strlen (pw->pw_name);
 
-      /* Store "username:" in T[j].in.  */
-      T[j].in = xmalloc (len + 1 + 1);
-      memcpy (T[j].in, pw->pw_name, len);
-      T[j].in[len] = ':';
-      T[j].in[len+1] = '\0';
+        /* Store "username:" in T[j].in.  */
+        {
+          char *t = xmalloc (len + 1 + 1);
+          memcpy (t, pw->pw_name, len);
+          t[len] = ':';
+          t[len+1] = '\0';
+          T[j].in = t;
+        }
 
-      T[j].uid = uid;
-      T[j].gid = gr->gr_gid;
-      T[j].user_name = xstrdup (pw->pw_name);
-      T[j].group_name = xstrdup (gr->gr_name);
-      T[j].result = NULL;
-      break;
-    }
+        T[j].uid = uid;
+        T[j].gid = gr->gr_gid;
+        T[j].user_name = xstrdup (pw->pw_name);
+        T[j].group_name = xstrdup (gr->gr_name);
+        T[j].result = NULL;
+        break;
+      }
+  }
 
   for (i = 0; T[i].in; i++)
     {