aboutsummaryrefslogtreecommitdiff
path: root/coreutils-5.3.0-bin/share/awk/passwd.awk
diff options
context:
space:
mode:
Diffstat (limited to 'coreutils-5.3.0-bin/share/awk/passwd.awk')
-rw-r--r--coreutils-5.3.0-bin/share/awk/passwd.awk63
1 files changed, 63 insertions, 0 deletions
diff --git a/coreutils-5.3.0-bin/share/awk/passwd.awk b/coreutils-5.3.0-bin/share/awk/passwd.awk
new file mode 100644
index 0000000..77d7860
--- /dev/null
+++ b/coreutils-5.3.0-bin/share/awk/passwd.awk
@@ -0,0 +1,63 @@
+# passwd.awk --- access password file information
+#
+# Arnold Robbins, arnold@skeeve.com, Public Domain
+# May 1993
+# Revised October 2000
+
+BEGIN {
+ # tailor this to suit your system
+ _pw_awklib = "c:/progra~1/Gawk/libexec/awk/"
+}
+
+function _pw_init( oldfs, oldrs, olddol0, pwcat, using_fw)
+{
+ if (_pw_inited)
+ return
+
+ oldfs = FS
+ oldrs = RS
+ olddol0 = $0
+ using_fw = (PROCINFO["FS"] == "FIELDWIDTHS")
+ FS = ":"
+ RS = "\n"
+
+ pwcat = _pw_awklib "pwcat"
+ while ((pwcat | getline) > 0) {
+ _pw_byname[$1] = $0
+ _pw_byuid[$3] = $0
+ _pw_bycount[++_pw_total] = $0
+ }
+ close(pwcat)
+ _pw_count = 0
+ _pw_inited = 1
+ FS = oldfs
+ if (using_fw)
+ FIELDWIDTHS = FIELDWIDTHS
+ RS = oldrs
+ $0 = olddol0
+}
+function getpwnam(name)
+{
+ _pw_init()
+ if (name in _pw_byname)
+ return _pw_byname[name]
+ return ""
+}
+function getpwuid(uid)
+{
+ _pw_init()
+ if (uid in _pw_byuid)
+ return _pw_byuid[uid]
+ return ""
+}
+function getpwent()
+{
+ _pw_init()
+ if (_pw_count < _pw_total)
+ return _pw_bycount[++_pw_count]
+ return ""
+}
+function endpwent()
+{
+ _pw_count = 0
+}