Fix for root.absyn not being set (when .abs is bad for example)
authorAdam Dickmeiss <adam@indexdata.dk>
Thu, 12 Jun 2003 18:20:08 +0000 (18:20 +0000)
committerAdam Dickmeiss <adam@indexdata.dk>
Thu, 12 Jun 2003 18:20:08 +0000 (18:20 +0000)
data1/d1_absyn.c
recctrl/recgrs.c

index 12ea5d7..dec05b8 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: d1_absyn.c,v 1.8 2003-03-01 22:45:37 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;
     }
 }
index b6aa0fc..6c90b35 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: recgrs.c,v 1.79 2003-05-05 20:14:42 adam Exp $
+/* $Id: recgrs.c,v 1.80 2003-06-12 18:20:08 adam Exp $
    Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003
    Index Data Aps
 
@@ -711,8 +711,8 @@ static int dumpkeys(data1_node *n, struct recExtractCtrl *p, int level,
        {
             index_termlist (n, n, p, level, wrd);
             /* index start tag */
-            assert (n->root->u.root.absyn);
-           index_xpath (n, p, level, wrd, 1);
+           if (n->root->u.root.absyn)
+               index_xpath (n, p, level, wrd, 1);
        }
 
        if (n->child)