summaryrefslogtreecommitdiffstats
path: root/contrib/awk/awklib/eg/prog/id.awk
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2001-11-02 21:06:08 +0000
committerobrien <obrien@FreeBSD.org>2001-11-02 21:06:08 +0000
commitcfe0e2b488d886d14fc1755679b8a88165b22d92 (patch)
treefbf9ca4d3f276e13b39090465008b182d20f0e5a /contrib/awk/awklib/eg/prog/id.awk
parent9682ea287751aa7aad9e21c50ba74cfb3d7314d0 (diff)
parent223f0286ad0612783e0da01de3b5bfdc52e3b25c (diff)
downloadFreeBSD-src-cfe0e2b488d886d14fc1755679b8a88165b22d92.zip
FreeBSD-src-cfe0e2b488d886d14fc1755679b8a88165b22d92.tar.gz
This commit was generated by cvs2svn to compensate for changes in r85898,
which included commits to RCS files with non-trunk default branches.
Diffstat (limited to 'contrib/awk/awklib/eg/prog/id.awk')
-rw-r--r--contrib/awk/awklib/eg/prog/id.awk42
1 files changed, 20 insertions, 22 deletions
diff --git a/contrib/awk/awklib/eg/prog/id.awk b/contrib/awk/awklib/eg/prog/id.awk
index a983c57..af78f76 100644
--- a/contrib/awk/awklib/eg/prog/id.awk
+++ b/contrib/awk/awklib/eg/prog/id.awk
@@ -1,6 +1,10 @@
# id.awk --- implement id in awk
+#
+# Requires user and group library functions
+#
# Arnold Robbins, arnold@gnu.org, Public Domain
# May 1993
+# Revised February 1996
# output is:
# uid=12(foo) euid=34(bar) gid=3(baz) \
@@ -8,17 +12,10 @@
BEGIN \
{
- if ((getline < "/dev/user") < 0) {
- err = "id: no /dev/user support - cannot run"
- print err > "/dev/stderr"
- exit 1
- }
- close("/dev/user")
-
- uid = $1
- euid = $2
- gid = $3
- egid = $4
+ uid = PROCINFO["uid"]
+ euid = PROCINFO["euid"]
+ gid = PROCINFO["gid"]
+ egid = PROCINFO["egid"]
printf("uid=%d", uid)
pw = getpwuid(uid)
@@ -52,18 +49,19 @@ BEGIN \
}
}
- if (NF > 4) {
- printf(" groups=");
- for (i = 5; i <= NF; i++) {
- printf("%d", $i)
- pw = getgrgid($i)
- if (pw != "") {
- split(pw, a, ":")
- printf("(%s)", a[1])
- }
- if (i < NF)
- printf(",")
+ for (i = 1; ("group" i) in PROCINFO; i++) {
+ if (i == 1)
+ printf(" groups=")
+ group = PROCINFO["group" i]
+ printf("%d", group)
+ pw = getgrgid(group)
+ if (pw != "") {
+ split(pw, a, ":")
+ printf("(%s)", a[1])
}
+ if (("group" (i+1)) in PROCINFO)
+ printf(",")
}
+
print ""
}
OpenPOWER on IntegriCloud