aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew J. Schorr <aschorr@telemetry-investments.com>2015-02-05 09:54:14 -0500
committerAndrew J. Schorr <aschorr@telemetry-investments.com>2015-02-05 09:54:14 -0500
commit73ae20aa7f21d31907f19d9a47fe00b717fc4d7a (patch)
tree8e81aaa0f9178f56554bcaf09f8dcd6a9cf71530
parent98c6780098e577324c7642362a689c0d7dbe056d (diff)
parent1736b4db53dc60f1e7a9659dc201e0562d43aa02 (diff)
downloadegawk-73ae20aa7f21d31907f19d9a47fe00b717fc4d7a.tar.gz
egawk-73ae20aa7f21d31907f19d9a47fe00b717fc4d7a.tar.bz2
egawk-73ae20aa7f21d31907f19d9a47fe00b717fc4d7a.zip
Merge branch 'gawk-4.1-stable'
-rw-r--r--ChangeLog7
-rw-r--r--eval.c6
2 files changed, 10 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 5a248bfa..8dc4b057 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2015-02-05 Andrew J. Schorr <aschorr@telemetry-investments.com>
+
+ * eval.c (set_IGNORECASE): If IGNORECASE has a numeric value, try
+ using that before treating it as a string. This fixes a problem
+ where setting -v IGNORECASE=0 on the command line was not working
+ properly.
+
2015-02-01 Arnold D. Robbins <arnold@skeeve.com>
Move POSIX requirement for disallowing paramater names with the
diff --git a/eval.c b/eval.c
index 95992704..509a8a05 100644
--- a/eval.c
+++ b/eval.c
@@ -708,6 +708,8 @@ set_IGNORECASE()
load_casetable();
if (do_traditional)
IGNORECASE = false;
+ else if ((n->flags & (NUMCUR|NUMBER)) != 0)
+ IGNORECASE = ! iszero(n);
else if ((n->flags & (STRING|STRCUR)) != 0) {
if ((n->flags & MAYBE_NUM) == 0) {
(void) force_string(n);
@@ -716,9 +718,7 @@ set_IGNORECASE()
(void) force_number(n);
IGNORECASE = ! iszero(n);
}
- } else if ((n->flags & (NUMCUR|NUMBER)) != 0)
- IGNORECASE = ! iszero(n);
- else
+ } else
IGNORECASE = false; /* shouldn't happen */
set_RS(); /* set_RS() calls set_FS() if need be, for us */