-static int
-set_ids_by_number (uid_t uid, gid_t gid, char **message_ret)
-{
- struct passwd *p;
- struct group *g;
-
- errno = 0;
- p = getpwuid (uid);
- if (!p)
- {
- char buf [1024];
- sprintf (buf, "%s: error looking up name of user %d", blurb(),
- (long) uid);
- if (errno)
- perror (buf);
- else
- fprintf (stderr, "%s: unknown error.\n", buf);
- return -1;
- }
-
- errno = 0;
- g = getgrgid (gid);
- if (!g)
- {
- char buf [1024];
- sprintf (buf, "%s: error looking up name of group %d", blurb(),
- (long) gid);
- if (errno)
- perror (buf);
- else
- fprintf (stderr, "%s: unknown error.\n", buf);
- return -1;
- }
-
- return set_ids_by_name (p, g, message_ret);
-}
-