about summary refs log tree commit diff
path: root/Src
diff options
context:
space:
mode:
authorClint Adams <clint@users.sourceforge.net>2001-08-21 20:06:15 +0000
committerClint Adams <clint@users.sourceforge.net>2001-08-21 20:06:15 +0000
commit9bb803cf55f89acb0ae5e08fd6c982ef9e866b95 (patch)
tree796289f8090cb5038715ed5f318273372a805255 /Src
parent50e34d4acb578c985f5c9ac453af97aec3b7a867 (diff)
downloadzsh-9bb803cf55f89acb0ae5e08fd6c982ef9e866b95.tar.gz
zsh-9bb803cf55f89acb0ae5e08fd6c982ef9e866b95.tar.xz
zsh-9bb803cf55f89acb0ae5e08fd6c982ef9e866b95.zip
15675: Src/Builtins/rlimits.awk: handle case where RLIM_NLIMITS is set to a number within an enum.
Diffstat (limited to 'Src')
-rw-r--r--Src/Builtins/rlimits.awk16
1 files changed, 14 insertions, 2 deletions
diff --git a/Src/Builtins/rlimits.awk b/Src/Builtins/rlimits.awk
index 5e48725e2..1a3e5fe77 100644
--- a/Src/Builtins/rlimits.awk
+++ b/Src/Builtins/rlimits.awk
@@ -6,7 +6,7 @@
 #
 BEGIN {limidx = 0}
 
-/^[\t ]*(#[\t ]*define[\t _]*RLIMIT_[A-Z_]*[\t ]*[0-9][0-9]*|RLIMIT_[A-Z_]*,[\t ]*)/ {
+/^[\t ]*(#[\t ]*define[\t _]*RLIMIT_[A-Z_]*[\t ]*[0-9][0-9]*|RLIMIT_[A-Z_]*,[\t ]*|RLIMIT_[A-Z_]*[\t ]*=[\t ]*[0-9][0-9]*,[\t ]*)/ {
     limindex = index($0, "RLIMIT_")
     limtail = substr($0, limindex, 80)
     split(limtail, tmp)
@@ -18,6 +18,11 @@ BEGIN {limidx = 0}
 	limindex = index($0, ",")
 	limnam = substr(limnam, 1, limindex-1)
     }
+    if (limnum == "=") {
+	limnum = limidx++
+	limindex = index($0, ",")
+	limnam = substr(limnam, 1, limindex-1)
+    }
     limrev[limnam] = limnum
     if (lim[limnum] == "") {
 	lim[limnum] = limnam
@@ -29,6 +34,7 @@ BEGIN {limidx = 0}
 	    if (limnam == "CPU")     { msg[limnum] = "Tcputime" }
 	    if (limnam == "DATA")    { msg[limnum] = "Mdatasize" }
 	    if (limnam == "FSIZE")   { msg[limnum] = "Mfilesize" }
+	    if (limnam == "LOCKS")   { msg[limnum] = "Nmaxfilelocks" }
 	    if (limnam == "MEMLOCK") { msg[limnum] = "Mmemorylocked" }
 	    if (limnam == "NOFILE")  { msg[limnum] = "Ndescriptors" }
 	    if (limnam == "NPROC")   { msg[limnum] = "Nmaxproc" }
@@ -50,7 +56,13 @@ BEGIN {limidx = 0}
 }
 # in case of GNU libc
 /^[\t ]*RLIM_NLIMITS[\t ]*=[\t ]*RLIMIT_NLIMITS/ {
-    nlimits = limidx
+    if(!nlimits) { nlimits = limidx }
+}
+/^[\t ]*RLIM(IT)?_NLIMITS[\t ]*=[\t ]*[0-9][0-9]*/ {
+    limindex = index($0, "=")
+    limtail = substr($0, limindex, 80)
+    split(limtail, tmp)
+    nlimits = tmp[2]
 }
 
 END {