]> git.eshelyaron.com Git - emacs.git/commitdiff
* src/regex.c (re_search_2): Make new code safe for -Wjump-misses-init.
authorPaul Eggert <eggert@cs.ucla.edu>
Sun, 23 Oct 2016 08:00:27 +0000 (01:00 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Sun, 23 Oct 2016 08:01:24 +0000 (01:01 -0700)
src/regex.c

index daa15ec5a8d5b5b0577aa87a2340cb656b612246..b12e95b38c03ea1970055b488aff634514335690 100644 (file)
@@ -4380,6 +4380,10 @@ re_search_2 (struct re_pattern_buffer *bufp, const char *str1, size_t size1,
   /* Loop through the string, looking for a place to start matching.  */
   for (;;)
     {
+      ptrdiff_t offset1, offset2;
+      re_char *orig_base;
+      bool might_relocate;
+
       /* If the pattern is anchored,
         skip quickly past places we cannot match.
         We don't bother to treat startpos == 0 specially
@@ -4498,10 +4502,9 @@ re_search_2 (struct re_pattern_buffer *bufp, const char *str1, size_t size1,
 
       /* re_match_2_internal may allocate, relocating the Lisp text
         object that we're searching.  */
-      ptrdiff_t offset1, offset2;
       IF_LINT (offset2 = 0);  /* Work around GCC bug 78081.  */
-      re_char *orig_base = STR_BASE_PTR (re_match_object);
-      bool might_relocate = orig_base != NULL;
+      orig_base = STR_BASE_PTR (re_match_object);
+      might_relocate = orig_base != NULL;
       if (might_relocate)
         {
           if (string1) offset1 = string1 - orig_base;