[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Grep-devel] [PATCH] grep: simplify recent kwset change
From: |
Paul Eggert |
Subject: |
[Grep-devel] [PATCH] grep: simplify recent kwset change |
Date: |
Mon, 23 Jan 2017 16:03:55 -0800 |
* src/kwset.c (acexec_trans): Simplify.
---
src/kwset.c | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/src/kwset.c b/src/kwset.c
index 258cff5..3be5c42 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;
--
2.9.3
- [Grep-devel] [PATCH] grep: simplify recent kwset change,
Paul Eggert <=