chiark / gitweb /
lookup_user, lookup_group: report "unknown user" and "lookup failed"
authorKay Sievers <kay.sievers@suse.de>
Fri, 18 Aug 2006 01:15:26 +0000 (03:15 +0200)
committerKay Sievers <kay.sievers@suse.de>
Fri, 18 Aug 2006 01:15:26 +0000 (03:15 +0200)
Patch from Marco, but both cases are reported as an error.

udev_sysdeps.c

index 152b7f0c5c2e06a56d80126f7dfa9c91d1352411..c0b2d70b6ebcb529696c549debc72769ccea4c42 100644 (file)
@@ -98,9 +98,12 @@ uid_t lookup_user(const char *user)
        uid_t uid = 0;
 
        pw = getpwnam(user);
        uid_t uid = 0;
 
        pw = getpwnam(user);
-       if (pw == NULL)
-               err("error resolving user '%s': %s", user, strerror(errno));
-       else
+       if (pw == NULL) {
+               if (errno == 0)
+                       err("specified user unknown '%s'", user);
+               else
+                       err("error resolving user '%s': %s", user, strerror(errno));
+       } else
                uid = pw->pw_uid;
 
        return uid;
                uid = pw->pw_uid;
 
        return uid;
@@ -112,9 +115,12 @@ gid_t lookup_group(const char *group)
        gid_t gid = 0;
 
        gr = getgrnam(group);
        gid_t gid = 0;
 
        gr = getgrnam(group);
-       if (gr == NULL)
-               err("error resolving group '%s': %s", group, strerror(errno));
-       else
+       if (gr == NULL) {
+               if (errno == 0)
+                       err("specified group unknown '%s'", group);
+               else
+                       err("error resolving group '%s': %s", group, strerror(errno));
+       } else
                gid = gr->gr_gid;
 
        return gid;
                gid = gr->gr_gid;
 
        return gid;