diff options
author | Yuri Pankov <yuripv@FreeBSD.org> | 2018-12-19 23:28:56 +0000 |
---|---|---|
committer | Yuri Pankov <yuripv@FreeBSD.org> | 2018-12-19 23:28:56 +0000 |
commit | e2a87ae3af47e39ec3dd7c67f7ff0ea6188808d6 (patch) | |
tree | 4402d232f052984d0f24943969665d9b1ca82a3d | |
parent | 3e0178fb9472f29dc35f1fb52517155d794466c2 (diff) | |
download | src-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.c | 14 |
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 |