diff options
author | Jim Meyering <meyering@redhat.com> | 2010-01-26 09:51:26 +0100 |
---|---|---|
committer | Jim Meyering <meyering@redhat.com> | 2010-01-26 09:51:26 +0100 |
commit | 1c9217c42e20cb34140f66b58bca543fd14c4aea (patch) | |
tree | a87c6d15cf23b954adae7acf41cc69a769281d8e /tests/test-userspec.c | |
parent | a26433c9206b551456ed9b1e329c5c1f4cb70525 (diff) | |
download | gnulib-1c9217c42e20cb34140f66b58bca543fd14c4aea.tar.gz |
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".
Diffstat (limited to 'tests/test-userspec.c')
-rw-r--r-- | tests/test-userspec.c | 67 |
1 files changed, 36 insertions, 31 deletions
diff --git a/tests/test-userspec.c b/tests/test-userspec.c index 3e101f3c40..17428f2284 100644 --- 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 @@ main (void) { 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); - - /* 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'; - - 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; - } + { + 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. */ + { + 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; + } + } for (i = 0; T[i].in; i++) { |