From d8f2c10b7108fff6b7e437291093a1cadc15ab9f Mon Sep 17 00:00:00 2001 From: Tyler Murphy Date: Sat, 6 May 2023 00:39:44 -0400 Subject: refactor --- src/commands/id.c | 53 ----------------------------------------------------- 1 file changed, 53 deletions(-) delete mode 100644 src/commands/id.c (limited to 'src/commands/id.c') diff --git a/src/commands/id.c b/src/commands/id.c deleted file mode 100644 index 3bef4f6..0000000 --- a/src/commands/id.c +++ /dev/null @@ -1,53 +0,0 @@ -#include "../command.h" - -#include -#include - -COMMAND_EMPTY(user_id) { - - uid_t uid; - gid_t gid, *groups; - int ngroups, i; - struct passwd* pw; - struct group* ugr; - - uid = getuid(); - gid = getgid(); - - pw = getpwuid(uid); - if(pw == NULL){ - error("failed to fetch groups: %s", strerror(errno)); - } - - ngroups = 0; - getgrouplist(pw->pw_name, pw->pw_gid, NULL, &ngroups); - - groups = malloc(sizeof(gid_t) * ngroups); - getgrouplist(pw->pw_name, pw->pw_gid, groups, &ngroups); - - ugr = getgrgid(gid); - printf("uid=%d(%s) gid=%d(%s) ", - uid, ugr->gr_name, gid, ugr->gr_name); - - if (ngroups > 0) { - printf("groups="); - } - - for (i = 0; i < ngroups; i++){ - struct group* gr = getgrgid(groups[i]); - if(gr == NULL) { - free(groups); - error("failed to fetch groups: %s", strerror(errno)); - } - - printf("%d(%s)", gr->gr_gid, gr->gr_name); - - if (i + 1 < ngroups) putchar(','); - } - - printf("\b\n"); - - free(groups); - - return EXIT_SUCCESS; -} -- cgit v1.2.3-freya