X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=recctrl%2Fregxread.c;h=a0513af1e21df78f601e176e036f0dd4df1f0967;hb=18c96520858405f9907443d47be8007a15b4abdb;hp=df7694cddd104d2003bca66a3ee5db96d77af855;hpb=bd9d1a9e0d4273ba26f5efe542df0321ce0f4053;p=idzebra-moved-to-github.git diff --git a/recctrl/regxread.c b/recctrl/regxread.c index df7694c..a0513af 100644 --- a/recctrl/regxread.c +++ b/recctrl/regxread.c @@ -1,4 +1,4 @@ -/* $Id: regxread.c,v 1.50.2.3 2006-08-14 10:39:16 adam Exp $ +/* $Id: regxread.c,v 1.50.2.4 2006-10-30 14:14:20 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 Index Data Aps @@ -469,13 +469,17 @@ static int actionListMk (struct lexSpec *spec, const char *s, r = dfa_parse ((*ap)->u.pattern.dfa, &s); if (r || *s != '/') { + int sz = s - s0; xfree (*ap); *ap = NULL; - logf (LOG_WARN, "regular expression error '%.*s'", s-s0, s0); + logf (LOG_WARN, "regular expression error '%.*s'", sz, s0); return -1; } if (debug_dfa_tran) - printf ("pattern: %.*s\n", s-s0, s0); + { + int sz = s - s0; + printf ("pattern: %.*s\n", sz, s0); + } dfa_mkstate ((*ap)->u.pattern.dfa); s++; break; @@ -1734,6 +1738,7 @@ data1_node *lexNode (struct lexSpec *spec, int *ptr) buf = f_win_get (spec, skip_ptr, *ptr, &size); execDataP (spec, buf, size, 0); } + state = context->dfa->states[0]; if (*ptr == F_WIN_EOF) break; }