aboutsummaryrefslogtreecommitdiffstats
path: root/regex_internal.c
diff options
context:
space:
mode:
authorStephen Davies <sdavies@sdc.com.au>2014-09-11 16:26:34 +0930
committerStephen Davies <sdavies@sdc.com.au>2014-09-11 16:26:34 +0930
commit33acaac51cd9087eb7a9b7e73c11f58da396df9a (patch)
tree31f31fcbddca399940865007322bdeea81f2f6f7 /regex_internal.c
parent9b21de890a81179e951ffa5bea2099673f584b16 (diff)
parentca9f23d6c33c4b5cb3786d480948a42988ca99ac (diff)
downloadegawk-33acaac51cd9087eb7a9b7e73c11f58da396df9a.tar.gz
egawk-33acaac51cd9087eb7a9b7e73c11f58da396df9a.tar.bz2
egawk-33acaac51cd9087eb7a9b7e73c11f58da396df9a.zip
Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/gawk
Conflicts: doc/gawk.info
Diffstat (limited to 'regex_internal.c')
-rw-r--r--regex_internal.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/regex_internal.c b/regex_internal.c
index 056cff3d..9e427081 100644
--- a/regex_internal.c
+++ b/regex_internal.c
@@ -545,7 +545,10 @@ build_upper_buffer (re_string_t *pstr)
int ch = pstr->raw_mbs[pstr->raw_mbs_idx + char_idx];
if (BE (pstr->trans != NULL, 0))
ch = pstr->trans[ch];
- pstr->mbs[char_idx] = toupper (ch);
+ if (islower (ch))
+ pstr->mbs[char_idx] = toupper (ch);
+ else
+ pstr->mbs[char_idx] = ch;
}
pstr->valid_len = char_idx;
pstr->valid_raw_len = char_idx;
@@ -683,7 +686,7 @@ re_string_reconstruct (re_string_t *pstr, int idx, int eflags)
pstr->valid_len - offset);
pstr->valid_len -= offset;
pstr->valid_raw_len -= offset;
-#if DEBUG
+#if defined DEBUG && DEBUG
assert (pstr->valid_len > 0);
#endif
}
@@ -940,7 +943,7 @@ re_string_context_at (const re_string_t *input, int idx, int eflags)
int wc_idx = idx;
while(input->wcs[wc_idx] == WEOF)
{
-#ifdef DEBUG
+#if defined DEBUG && DEBUG
/* It must not happen. */
assert (wc_idx >= 0);
#endif