From fca6a4c3b9e0757637b7a2009ca8b9070a6874f5 Mon Sep 17 00:00:00 2001 From: Norihiro Tanaka Date: Sat, 23 Mar 2019 07:18:37 +0900 Subject: [PATCH] dfa: separate parse and compile phase DFAMUST() must be called after parse and before tokens re-order which is introduced in commit 5c7a0371823876cca7a1347fa09ca26bbbff0c98, but both are executed in compilation phase. * lib/dfa.c (dfaparse): Change it to global function. (dfacomp): If first argument is NULL, skip parse. * lib/dfa.h: (dfaparse): Add a prototype. --- src/dfasearch.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/src/dfasearch.c b/src/dfasearch.c index 3ebd25e..f3f889f 100644 --- a/src/dfasearch.c +++ b/src/dfasearch.c @@ -202,8 +202,9 @@ GEAcompile (char *pattern, size_t size, reg_syntax_t syntax_bits) else motif = NULL; - dfacomp (pattern, size, dc->dfa, 1); + dfaparse (pattern, size, dc->dfa); kwsmusts (dc); + dfacomp (NULL, 0, dc->dfa, 1); free (motif); -- 1.7.1