]> Savannah Git Hosting - gnulib.git/commitdiff
regex: minor refactoring
authorPaul Eggert <eggert@cs.ucla.edu>
Sat, 6 Feb 2021 00:35:45 +0000 (16:35 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Sat, 6 Feb 2021 01:24:59 +0000 (17:24 -0800)
* lib/regexec.c (proceed_next_node): Use more-local decls.

ChangeLog
lib/regexec.c

index 6fcd5819ff70f2898f33c1530316dc04858d1b6b..fdc1076732da622dc339af7a8acd41732085599a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2021-02-05  Paul Eggert  <eggert@cs.ucla.edu>
 
+       regex: minor refactoring
+       * lib/regexec.c (proceed_next_node): Use more-local decls.
+
        regex: avoid undefined behavior
        * lib/regexec.c (pop_fail_stack): If the stack is empty, return -1
        instead of indulging in undefined behavior.  This simplifies
index f982e3aba8eed09582ea7e1e03a1e5f0c64a1ccd..fdd2e373e71ba60d494ebe9d315ab2990e27525b 100644 (file)
@@ -1215,19 +1215,17 @@ proceed_next_node (const re_match_context_t *mctx, Idx nregs, regmatch_t *regs,
                   struct re_fail_stack_t *fs)
 {
   const re_dfa_t *const dfa = mctx->dfa;
-  Idx i;
-  bool ok;
   if (IS_EPSILON_NODE (dfa->nodes[node].type))
     {
       re_node_set *cur_nodes = &mctx->state_log[*pidx]->nodes;
       re_node_set *edests = &dfa->edests[node];
-      Idx dest_node;
-      ok = re_node_set_insert (eps_via_nodes, node);
+      bool ok = re_node_set_insert (eps_via_nodes, node);
       if (__glibc_unlikely (! ok))
        return -2;
-      /* Pick up a valid destination, or return -1 if none
-        is found.  */
-      for (dest_node = -1, i = 0; i < edests->nelem; ++i)
+
+      /* Pick a valid destination, or return -1 if none is found.  */
+      Idx dest_node = -1;
+      for (Idx i = 0; i < edests->nelem; i++)
        {
          Idx candidate = edests->elems[i];
          if (!re_node_set_contains (cur_nodes, candidate))
@@ -1289,7 +1287,7 @@ proceed_next_node (const re_match_context_t *mctx, Idx nregs, regmatch_t *regs,
          if (naccepted == 0)
            {
              Idx dest_node;
-             ok = re_node_set_insert (eps_via_nodes, node);
+             bool ok = re_node_set_insert (eps_via_nodes, node);
              if (__glibc_unlikely (! ok))
                return -2;
              dest_node = dfa->edests[node].elems[0];