X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=data1%2Fd1_absyn.c;h=dec05b801e8b479743620e3c74f9d036a1197d4d;hb=f280b4adca76b5b447dae9d6a01ff1f9067c08b9;hp=c7f8ba71d1ed2be2222a75d522e1a4e371c8381e;hpb=26a5a4b96b90361859cf856d6c41852b03ca2f84;p=idzebra-moved-to-github.git diff --git a/data1/d1_absyn.c b/data1/d1_absyn.c index c7f8ba7..dec05b8 100644 --- a/data1/d1_absyn.c +++ b/data1/d1_absyn.c @@ -1,4 +1,4 @@ -/* $Id: d1_absyn.c,v 1.6 2003-02-04 12:06:46 pop 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; } } @@ -665,7 +668,6 @@ data1_absyn *data1_read_absyn (data1_handle dh, const char *file, int i; char *p, *xpath_expr, *termlists; const char *regexp; - int type, value; struct DFA *dfa = dfa = dfa_init(); data1_termlist **tp; @@ -702,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); */ @@ -958,7 +961,6 @@ data1_absyn *data1_read_absyn (data1_handle dh, const char *file, } else if (!strcmp(cmd, "systag")) { - struct data1_systag *st; if (argc != 3) { yaz_log(LOG_WARN, "%s:%d: Bad # or args for systag",