X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=data1%2Fd1_absyn.c;h=dec05b801e8b479743620e3c74f9d036a1197d4d;hb=f280b4adca76b5b447dae9d6a01ff1f9067c08b9;hp=3e26fc5e2a199a41782b4a7eb5489ac47f31d9e2;hpb=8b2a5cf09bb9c5cd5c0f780f63c40612366b8daa;p=idzebra-moved-to-github.git diff --git a/data1/d1_absyn.c b/data1/d1_absyn.c index 3e26fc5..dec05b8 100644 --- a/data1/d1_absyn.c +++ b/data1/d1_absyn.c @@ -1,4 +1,4 @@ -/* $Id: d1_absyn.c,v 1.7 2003-02-25 21:50:27 adam Exp $ +/* $Id: d1_absyn.c,v 1.9 2003-06-12 18:20:24 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 Index Data Aps @@ -76,12 +76,15 @@ void data1_absyn_destroy (data1_handle dh) while (p) { data1_absyn *abs = p->absyn; - data1_xpelement *xpe = abs->xp_elements; - while (xpe) { - logf (LOG_DEBUG,"Destroy xp element %s",xpe->xpath_expr); - if (xpe->dfa) { dfa_delete (&xpe->dfa); } - xpe = xpe->next; - } + if (abs) + { + data1_xpelement *xpe = abs->xp_elements; + while (xpe) { + logf (LOG_DEBUG,"Destroy xp element %s",xpe->xpath_expr); + if (xpe->dfa) { dfa_delete (&xpe->dfa); } + xpe = xpe->next; + } + } p = p->next; } } @@ -701,10 +704,11 @@ data1_absyn *data1_read_absyn (data1_handle dh, const char *file, cur_xpelement->dfa = dfa; #ifdef ENHANCED_XELM - cur_xpelement->xpath_len = parse_xpath_str(xpath_expr, - cur_xpelement->xpath, - data1_nmem_get(dh)); - + cur_xpelement->xpath_len = + zebra_parse_xpath_str(xpath_expr, + cur_xpelement->xpath, XPATH_STEP_COUNT, + data1_nmem_get(dh)); + /* dump_xp_steps(cur_xpelement->xpath,cur_xpelement->xpath_len); */