X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=data1%2Fd1_absyn.c;h=a913e4b55ee001ed01dd3265160c0bb4c5569fa4;hb=b5eb8cd7ae4134d915ed8b4aec25ab90c8bd0dcb;hp=3e26fc5e2a199a41782b4a7eb5489ac47f31d9e2;hpb=8b2a5cf09bb9c5cd5c0f780f63c40612366b8daa;p=idzebra-moved-to-github.git diff --git a/data1/d1_absyn.c b/data1/d1_absyn.c index 3e26fc5..a913e4b 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.10 2004-08-04 08:35:22 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 Index Data Aps @@ -58,7 +58,7 @@ data1_absyn *data1_absyn_search (data1_handle dh, const char *name) while (p) { - if (!strcmp (name, p->name)) + if (!yaz_matchstr (name, p->name)) return p->absyn; p = p->next; } @@ -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; } } @@ -130,7 +133,7 @@ data1_attset *data1_attset_search_name (data1_handle dh, const char *name) while (p) { - if (!strcmp (name, p->name)) + if (!yaz_matchstr (name, p->name)) return p->attset; 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); */