[PATCH] fix: use while instead of if when advancing rule_search_idx in init_state_items

Weixie Cui <[email protected]> Tue, 17 Mar 2026 19:38:58 +0800
Newsgroups gmane.comp.parsers.bison.patches
Message-ID <[email protected]>
From: Weixie Cui <[email protected]>

---
 src/state-item.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/state-item.c b/src/state-item.c
index ff53a830..275d6472 100644
--- a/src/state-item.c
+++ b/src/state-item.c
@@ -148,7 +148,7 @@ init_state_items (void)
           state_item_set (sidx, s, s->items[j]);
           state_item *si = &state_items[sidx];
           const rule *r = item_rule (si->item);
-          if (rule_search_idx < red->num && red->rules[rule_search_idx] < r)
+          while (rule_search_idx < red->num && red->rules[rule_search_idx] < r)
             ++rule_search_idx;
           if (rule_search_idx < red->num && r == red->rules[rule_search_idx])
             {
-- 
2.39.5 (Apple Git-154)