aboutsummaryrefslogtreecommitdiffstats
path: root/awklib/eg/lib/passwdawk.in
diff options
context:
space:
mode:
Diffstat (limited to 'awklib/eg/lib/passwdawk.in')
-rw-r--r--awklib/eg/lib/passwdawk.in9
1 files changed, 8 insertions, 1 deletions
diff --git a/awklib/eg/lib/passwdawk.in b/awklib/eg/lib/passwdawk.in
index dd6ee7f5..5f6f9e26 100644
--- a/awklib/eg/lib/passwdawk.in
+++ b/awklib/eg/lib/passwdawk.in
@@ -1,21 +1,26 @@
# passwd.awk --- access password file information
+#
# Arnold Robbins, arnold@gnu.org, Public Domain
# May 1993
+# Revised October 2000
BEGIN {
# tailor this to suit your system
_pw_awklib = "/usr/local/libexec/awk/"
}
-function _pw_init( oldfs, oldrs, olddol0, pwcat)
+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
@@ -26,6 +31,8 @@ function _pw_init( oldfs, oldrs, olddol0, pwcat)
_pw_count = 0
_pw_inited = 1
FS = oldfs
+ if (using_fw)
+ FIELDWIDTHS = FIELDWIDTHS
RS = oldrs
$0 = olddol0
}