- if (strcmp(group, "root") == 0)
- return 0;
- gid = strtoul(group, &endptr, 10);
- if (endptr[0] == '\0')
- return gid;
-
- errno = 0;
- getgrnam_r(group, &grbuf, buf, buflen, &gr);
- if (gr != NULL)
- return gr->gr_gid;
- if (errno == 0 || errno == ENOENT || errno == ESRCH)
- err(udev, "specified group '%s' unknown\n", group);
- else
- err(udev, "error resolving group '%s': %m\n", group);