summaryrefslogtreecommitdiff
path: root/tests/test-userspec.c
diff options
context:
space:
mode:
authorJim Meyering <meyering@redhat.com>2010-01-26 09:51:26 +0100
committerJim Meyering <meyering@redhat.com>2010-01-26 09:51:26 +0100
commit1c9217c42e20cb34140f66b58bca543fd14c4aea (patch)
treea87c6d15cf23b954adae7acf41cc69a769281d8e /tests/test-userspec.c
parenta26433c9206b551456ed9b1e329c5c1f4cb70525 (diff)
downloadgnulib-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.c67
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++)
{