From 8f2d7009a1c982c6ed9c844529639f1794d029bb Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 23 Jan 2017 16:03:12 -0800 Subject: grep: simplify recent kwset change * src/kwset.c (acexec_trans): Simplify. --- src/kwset.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/kwset.c b/src/kwset.c index 258cff53..3be5c427 100644 --- a/src/kwset.c +++ b/src/kwset.c @@ -848,20 +848,15 @@ acexec_trans (kwset_t kwset, char const *text, ptrdiff_t len, struct trie const *accept1; char const *left1; unsigned char c = tr (trans, *tp++); - while (true) + + do { tree = trie->links; while (tree && c != tree->label) tree = c < tree->label ? tree->llink : tree->rlink; - if (tree) - break; - trie = trie->fail; - if (!trie) - break; - left1 = tp - trie->depth; - if (left1 > left) - break; } + while (!tree && (trie = trie->fail) && accept->depth <= trie->depth); + if (!tree) break; trie = tree->trie; -- cgit v1.2.1