diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2011-12-26 22:42:54 +0200 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2011-12-26 22:42:54 +0200 |
commit | 9229cd0e900ab31d1049eda623f2756670109399 (patch) | |
tree | 812d4d98373313a258e553b9abe16c68f36fb8c2 /regexec.c | |
parent | d586094c7c4a9a412a7633a32d2b92a8e1cfea1c (diff) | |
download | egawk-9229cd0e900ab31d1049eda623f2756670109399.tar.gz egawk-9229cd0e900ab31d1049eda623f2756670109399.tar.bz2 egawk-9229cd0e900ab31d1049eda623f2756670109399.zip |
Finish RRI changes per points from Paolo Bonzini.
Diffstat (limited to 'regexec.c')
-rw-r--r-- | regexec.c | 12 |
1 files changed, 2 insertions, 10 deletions
@@ -3963,18 +3963,10 @@ check_node_accept_bytes (const re_dfa_t *dfa, int node_idx, # endif /* _LIBC */ { /* match with range expression? */ -#if __GNUC__ >= 2 - wchar_t cmp_buf[] = {L'\0', L'\0', wc, L'\0', L'\0', L'\0'}; -#else - wchar_t cmp_buf[] = {L'\0', L'\0', L'\0', L'\0', L'\0', L'\0'}; - cmp_buf[2] = wc; -#endif for (i = 0; i < cset->nranges; ++i) { - cmp_buf[0] = cset->range_starts[i]; - cmp_buf[4] = cset->range_ends[i]; - if (wcscoll (cmp_buf, cmp_buf + 2) <= 0 - && wcscoll (cmp_buf + 2, cmp_buf + 4) <= 0) + if (cset->range_starts[i] <= wc + && wc <= cset->range_ends[i]) { match_len = char_len; goto check_node_accept_bytes_match; |