aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Pankov <yuripv@FreeBSD.org>2018-12-19 23:28:56 +0000
committerYuri Pankov <yuripv@FreeBSD.org>2018-12-19 23:28:56 +0000
commite2a87ae3af47e39ec3dd7c67f7ff0ea6188808d6 (patch)
tree4402d232f052984d0f24943969665d9b1ca82a3d
parent3e0178fb9472f29dc35f1fb52517155d794466c2 (diff)
downloadsrc-e2a87ae3af47e39ec3dd7c67f7ff0ea6188808d6.tar.gz
src-e2a87ae3af47e39ec3dd7c67f7ff0ea6188808d6.zip
regcomp: revert part of r341838 which turned out to be unrelated
and caused issues with search in less. PR: 234066 Reviewed by: pfg Differential revision: https://reviews.freebsd.org/D18611
Notes
Notes: svn path=/head/; revision=342265
-rw-r--r--lib/libc/regex/regcomp.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/lib/libc/regex/regcomp.c b/lib/libc/regex/regcomp.c
index d815382cb301..509b9e7fa4af 100644
--- a/lib/libc/regex/regcomp.c
+++ b/lib/libc/regex/regcomp.c
@@ -1841,29 +1841,21 @@ computejumps(struct parse *p, struct re_guts *g)
{
int ch;
int mindex;
- int cmin, cmax;
-
- /*
- * For UTF-8 we process only the first 128 characters corresponding to
- * the POSIX locale.
- */
- cmin = MB_CUR_MAX == 1 ? CHAR_MIN : 0;
- cmax = MB_CUR_MAX == 1 ? CHAR_MAX : 127;
/* Avoid making errors worse */
if (p->error != 0)
return;
- g->charjump = (int *)malloc((cmax - cmin + 1) * sizeof(int));
+ g->charjump = (int *)malloc((NC_MAX + 1) * sizeof(int));
if (g->charjump == NULL) /* Not a fatal error */
return;
/* Adjust for signed chars, if necessary */
- g->charjump = &g->charjump[-(cmin)];
+ g->charjump = &g->charjump[-(CHAR_MIN)];
/* If the character does not exist in the pattern, the jump
* is equal to the number of characters in the pattern.
*/
- for (ch = cmin; ch < cmax + 1; ch++)
+ for (ch = CHAR_MIN; ch < (CHAR_MAX + 1); ch++)
g->charjump[ch] = g->mlen;
/* If the character does exist, compute the jump that would