diff options
Diffstat (limited to 'awklib/eg/lib/passwdawk.in')
-rw-r--r-- | awklib/eg/lib/passwdawk.in | 9 |
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 } |