aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2014-01-18 21:47:09 +0200
committerArnold D. Robbins <arnold@skeeve.com>2014-01-18 21:47:09 +0200
commit4af359f9e6fb5030bdc1174c707b1728f029d7cf (patch)
tree2da4bfa68282db12422a710a5e7034fd4233175f
parente0e2a43526ebcc13602eb3e872391acbd2655796 (diff)
parentc4a448931a9f8a2bf3f4eb4f762fe3003d3f3bf3 (diff)
downloadegawk-4af359f9e6fb5030bdc1174c707b1728f029d7cf.tar.gz
egawk-4af359f9e6fb5030bdc1174c707b1728f029d7cf.tar.bz2
egawk-4af359f9e6fb5030bdc1174c707b1728f029d7cf.zip
Merge branch 'gawk-4.1-stable'
-rw-r--r--ChangeLog5
-rw-r--r--dfa.c27
2 files changed, 5 insertions, 27 deletions
diff --git a/ChangeLog b/ChangeLog
index 22455669..3cf773cf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-01-18 Arnold D. Robbins <arnold@skeeve.com>
+
+ * dfa.c (parse_bracket_exp): Sync with GNU grep, which now uses
+ gawk's code for RRI in single-byte locales! Hurray.
+
2014-01-16 Arnold D. Robbins <arnold@skeeve.com>
* configure.ac: For z/OS, restore creation of do-nothing
diff --git a/dfa.c b/dfa.c
index 44bb220e..ac1cf9a0 100644
--- a/dfa.c
+++ b/dfa.c
@@ -1150,32 +1150,6 @@ parse_bracket_exp (void)
}
else
{
-#ifndef GAWK
- /* Defer to the system regex library about the meaning
- of range expressions. */
- regex_t re;
- char pattern[6] = { '[', 0, '-', 0, ']', 0 };
- char subject[2] = { 0, 0 };
- c1 = c;
- if (case_fold)
- {
- c1 = tolower (c1);
- c2 = tolower (c2);
- }
-
- pattern[1] = c1;
- pattern[3] = c2;
- regcomp (&re, pattern, REG_NOSUB);
- for (c = 0; c < NOTCHAR; ++c)
- {
- if ((case_fold && isupper (c)))
- continue;
- subject[0] = c;
- if (regexec (&re, subject, 0, NULL, 0) != REG_NOMATCH)
- setbit_case_fold_c (c, ccl);
- }
- regfree (&re);
-#else
c1 = c;
if (case_fold)
{
@@ -1184,7 +1158,6 @@ parse_bracket_exp (void)
}
for (c = c1; c <= c2; c++)
setbit_case_fold_c (c, ccl);
-#endif
}
colon_warning_state |= 8;