OSDN Git Service

Move xgetpwuid() and xgetgrgid() into xwrap.c
authorRob Landley <rob@landley.net>
Fri, 29 Nov 2013 02:18:04 +0000 (20:18 -0600)
committerRob Landley <rob@landley.net>
Fri, 29 Nov 2013 02:18:04 +0000 (20:18 -0600)
lib/lib.h
lib/xwrap.c
toys/posix/id.c

index a0a1c31..e5d4a1d 100644 (file)
--- a/lib/lib.h
+++ b/lib/lib.h
@@ -111,6 +111,8 @@ char *xrealpath(char *path);
 void xchdir(char *path);
 void xmkpath(char *path, int mode);
 void xsetuid(uid_t uid);
+struct passwd *xgetpwuid(uid_t uid);
+struct group *xgetgrgid(gid_t gid);
 char *xreadlink(char *name);
 long xparsetime(char *arg, long units, long *fraction);
 void xpidfile(char *name);
index 98b4300..71ea920 100644 (file)
@@ -399,6 +399,20 @@ void xsetuid(uid_t uid)
   if (setuid(uid)) perror_exit("xsetuid");
 }
 
+struct passwd *xgetpwuid(uid_t uid)
+{
+  struct passwd *pwd = getpwuid(uid);
+  if (!pwd) error_exit(NULL);
+  return pwd;
+}
+
+struct group *xgetgrgid(gid_t gid)
+{
+  struct group *group = getgrgid(gid);
+  if (!group) error_exit(NULL);
+  return group;
+}
+
 // This can return null (meaning file not found).  It just won't return null
 // for memory allocation reasons.
 char *xreadlink(char *name)
index dbcf9a1..f40f6c1 100644 (file)
@@ -52,20 +52,6 @@ static void showid(char *header, unsigned u, char *s)
   printf("%s%u(%s)", header, u, s);
 }
 
-struct passwd *xgetpwuid(uid_t uid)
-{
-  struct passwd *pwd = getpwuid(uid);
-  if (!pwd) error_exit(NULL);
-  return pwd;
-}
-
-struct group *xgetgrgid(gid_t gid)
-{
-  struct group *group = getgrgid(gid);
-  if (!group) error_exit(NULL);
-  return group;
-}
-
 void do_id(char *username)
 {
   int flags, i, ngroups, cmd_groups = toys.which->name[0] == 'g';