about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Src/Builtins/rlimits.awk10
2 files changed, 12 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 2f33d94a5..697a8ce5f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-02-16  Peter Stephenson  <pws@csr.com>
+
+	* 20816: Src/Builtins/rlimits.awk: extra tricks to get limit
+	names and numbers required with new glibc.
+
 2005-02-15  Peter Stephenson  <pws@csr.com>
 
 	* 20812: Doc/Zsh/contrib.yo, Functions/Exceptions/catch,
diff --git a/Src/Builtins/rlimits.awk b/Src/Builtins/rlimits.awk
index e1a06fe2b..3258e077b 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 ]*|RLIMIT_[A-Z_]*[\t ]*=[\t ]*[0-9][0-9]*,[\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)
@@ -19,7 +19,11 @@ BEGIN {limidx = 0}
 	limnam = substr(limnam, 1, limindex-1)
     }
     if (limnum == "=") {
-	limnum = limidx++
+	if (tmp[3] ~ /^[0-9]/) {
+	    limnum = tmp[3] + 0
+	} else {
+	    limnum = limidx++
+	}
 	limindex = index($0, ",")
 	limnam = substr(limnam, 1, limindex-1)
     }
@@ -60,7 +64,7 @@ BEGIN {limidx = 0}
 /^[\t ]*RLIM_NLIMITS[\t ]*=[\t ]*RLIMIT_NLIMITS/ {
     if(!nlimits) { nlimits = limidx }
 }
-/^[\t ]*RLIM(IT)?_NLIMITS[\t ]*=[\t ]*[0-9][0-9]*/ {
+/^[\t _]*RLIM(IT)?_NLIMITS[\t ]*=[\t ]*[0-9][0-9]*/ {
     limindex = index($0, "=")
     limtail = substr($0, limindex, 80)
     split(limtail, tmp)