Remove isamd. It's not been in use for a long time and isamb is better
[idzebra-moved-to-github.git] / data1 / d1_absyn.c
index 3e26fc5..a913e4b 100644 (file)
@@ -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);
            */