summaryrefslogtreecommitdiff
path: root/id.c
diff options
context:
space:
mode:
authorJakob Kaivo <jkk@ung.org>2019-11-01 10:52:24 -0400
committerJakob Kaivo <jkk@ung.org>2019-11-01 10:52:24 -0400
commit361ab5930c7b0079dbdd2808126fd194a2067859 (patch)
tree1909e6da1b95001261ec13786d06a28d3eb5ad70 /id.c
parent80e4a3bd7f73d2beb9236d7b79c35c5152d065f1 (diff)
always use the correct uid and gid in default mode
Diffstat (limited to 'id.c')
-rw-r--r--id.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/id.c b/id.c
index dd5dd4d..aa7cfce 100644
--- a/id.c
+++ b/id.c
@@ -152,8 +152,8 @@ int main(int argc, char *argv[])
argv[optind]);
return 1;
}
- uid = pwd->pw_uid;
- gid = pwd->pw_gid;
+ uid = ruid = euid = pwd->pw_uid;
+ gid = rgid = egid = pwd->pw_gid;
}
if (mode == 'G') {
@@ -164,18 +164,18 @@ int main(int argc, char *argv[])
} else if (mode == 'u') {
print_id("", get_name(USER, uid), uid, names);
} else {
- print_id("uid=", get_name(USER, uid), uid, 0);
- print_id(" gid=", get_name(GROUP, gid), gid, 0);
+ print_id("uid=", get_name(USER, ruid), ruid, 0);
+ print_id(" gid=", get_name(GROUP, rgid), rgid, 0);
- if (optind >= argc && uid != euid) {
- print_id(" euid=", get_name(USER, uid), euid, 0);
+ if (ruid != euid) {
+ print_id(" euid=", get_name(USER, euid), euid, 0);
}
- if (optind >= argc && gid != egid) {
+ if (rgid != egid) {
print_id(" egid=", get_name(GROUP, egid), egid, 0);
}
- print_groups(uid, FULL);
+ print_groups(ruid, FULL);
}
printf("\n");