[hackers] [sbase] curproc() isn't needed in id(1) || Rob Pilling
commit fd8c3b643864c2e4be9fbb67c39bd5804ddcb245
Author: Rob Pilling <robpilling_AT_gmail.com>
Date: Sun Dec 1 11:31:36 2013 +0000
curproc() isn't needed in id(1)
diff --git a/id.c b/id.c
index ce72e70..ce618fd 100644
--- a/id.c
+++ b/id.c
_AT_@ -10,7 +10,6 @@
#include "util.h"
static void user(struct passwd *pw);
-static void curproc(void);
static void
usage(void)
_AT_@ -28,12 +27,17 @@ main(int argc, char *argv[])
usage();
} ARGEND;
+ errno = 0;
switch (argc) {
case 0:
- curproc();
+ pw = getpwuid(getuid());
+ if (errno != 0)
+ eprintf("getpwuid %d:", getuid());
+ else if (!pw)
+ eprintf("getpwuid %d: no such user
", getuid());
+ user(pw);
break;
case 1:
- errno = 0;
pw = getpwnam(argv[0]);
if (errno != 0)
eprintf("getpwnam %s:", argv[0]);
_AT_@ -73,53 +77,3 @@ user(struct passwd *pw)
}
putchar('
');
}
-
-static void
-curproc(void)
-{
- struct passwd *pw;
- struct group *gr;
- uid_t uid, euid;
- gid_t gid, egid, groups[NGROUPS_MAX];
- int ngroups;
- int i;
-
- /* Print uid/euid info */
- uid = getuid();
- printf("uid=%u", uid);
- if (!(pw = getpwuid(uid)))
- eprintf("getpwuid:");
- printf("(%s)", pw->pw_name);
- if ((euid = geteuid()) != uid) {
- printf(" euid=%u", euid);
- if (!(pw = getpwuid(euid)))
- eprintf("getpwuid:");
- printf("(%s)", pw->pw_name);
- }
-
- /* Print gid/egid info */
- gid = getgid();
- printf(" gid=%u", gid);
- if (!(gr = getgrgid(gid)))
- eprintf("getgrgid:");
- printf("(%s)", gr->gr_name);
- if ((egid = getegid()) != gid) {
- printf(" egid=%u", egid);
- if (!(gr = getgrgid(egid)))
- eprintf("getgrgid:");
- printf("(%s)", gr->gr_name);
- }
-
- /* Print groups */
- ngroups = getgroups(NGROUPS_MAX, groups);
- if (ngroups < 0)
- eprintf("getgroups:");
- for (i = 0; i < ngroups; i++) {
- gid = groups[i];
- printf("%s%u", !i ? " groups=" : ",", gid);
- if (!(gr = getgrgid(gid)))
- eprintf("getgrgid:");
- printf("(%s)", gr->gr_name);
- }
- putchar('
');
-}
Received on Sun Dec 01 2013 - 15:29:14 CET
This archive was generated by hypermail 2.3.0
: Sun Dec 01 2013 - 15:36:19 CET