From: K.Kosako Date: Wed, 3 Oct 2018 11:51:02 +0000 (+0900) Subject: refactoring X-Git-Tag: v6.9.1~18^2~23 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=84883cf23fbb798bd973f92337870a926e781c08;p=onig refactoring --- diff --git a/src/regcomp.c b/src/regcomp.c index 24e9d93..58ac85b 100644 --- a/src/regcomp.c +++ b/src/regcomp.c @@ -5707,20 +5707,17 @@ set_optimize_exact(regex_t* reg, OptExact* e) if (e->len == 0) return 0; + reg->exact = (UChar* )xmalloc(e->len); + CHECK_NULL_RETURN_MEMERR(reg->exact); + xmemcpy(reg->exact, e->s, e->len); + reg->exact_end = reg->exact + e->len; + if (e->case_fold) { - reg->exact = (UChar* )xmalloc(e->len); - CHECK_NULL_RETURN_MEMERR(reg->exact); - xmemcpy(reg->exact, e->s, e->len); - reg->exact_end = reg->exact + e->len; reg->optimize = OPTIMIZE_STR_CASE_FOLD; } else { int allow_reverse; - reg->exact = onigenc_strdup(reg->enc, e->s, e->s + e->len); - CHECK_NULL_RETURN_MEMERR(reg->exact); - reg->exact_end = reg->exact + e->len; - allow_reverse = ONIGENC_IS_ALLOWED_REVERSE_MATCH(reg->enc, reg->exact, reg->exact_end);