]> granicus.if.org Git - onig/commitdiff
refactoring
authorK.Kosako <kkosako0@gmail.com>
Wed, 3 Oct 2018 11:51:02 +0000 (20:51 +0900)
committerK.Kosako <kkosako0@gmail.com>
Wed, 3 Oct 2018 11:51:02 +0000 (20:51 +0900)
src/regcomp.c

index 24e9d93f4990d287ba4201cb2f2051baa00ee2e4..58ac85b8f65242b6dbee55ca6314145fbdef987d 100644 (file)
@@ -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);