Fixed bug regarding user-defined attribute sets.
[idzebra-moved-to-github.git] / recctrl / recgrs.c
index 150f4a7..8e60bf0 100644 (file)
@@ -1,10 +1,25 @@
 /*
- * Copyright (C) 1994-1999, Index Data
+ * Copyright (C) 1994-2000, Index Data
  * All rights reserved.
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: recgrs.c,v $
- * Revision 1.31  1999-07-14 10:56:43  adam
+ * Revision 1.36  2000-12-05 10:01:44  adam
+ * Fixed bug regarding user-defined attribute sets.
+ *
+ * Revision 1.35  2000/11/29 15:21:31  adam
+ * Fixed problem with passwd db.
+ *
+ * Revision 1.34  2000/02/25 13:24:49  adam
+ * Fixed bug regarding pointer conversion that showed up on OSF V5.
+ *
+ * Revision 1.33  1999/11/30 13:48:04  adam
+ * Improved installation. Updated for inclusion of YAZ header files.
+ *
+ * Revision 1.32  1999/09/07 07:19:21  adam
+ * Work on character mapping. Implemented replace rules.
+ *
+ * Revision 1.31  1999/07/14 10:56:43  adam
  * Fixed potential memory leak.
  *
  * Revision 1.30  1999/07/06 12:26:41  adam
 #include <unistd.h>
 #endif
 
-#include <log.h>
-#include <oid.h>
+#include <yaz/log.h>
+#include <yaz/oid.h>
 
 #include <recctrl.h>
 #include "grsread.h"
@@ -382,7 +397,7 @@ static int dumpkeys(data1_node *n, struct recExtractCtrl *p, int level)
                    wrd.length = n->u.data.len;
                    wrd.attrSet = (int) (tlist->att->parent->reference);
                    wrd.attrUse = tlist->att->locals->local;
-                   (*p->addWord)(&wrd);
+                   (*p->tokenAdd)(&wrd);
                }
            }
        }
@@ -404,7 +419,7 @@ int grs_extract_tree(struct recExtractCtrl *p, data1_node *n)
     oe.value = n->u.root.absyn->reference;
 
     if ((oid_ent_to_oid (&oe, oidtmp)))
-       (*p->addSchema)(p, oidtmp);
+       (*p->schemaAdd)(p, oidtmp);
 
     return dumpkeys(n, p, 0);
 }
@@ -434,7 +449,7 @@ static int grs_extract_sub(struct grs_handlers *h, struct recExtractCtrl *p,
     oe.oclass = CLASS_SCHEMA;
     oe.value = n->u.root.absyn->reference;
     if ((oid_ent_to_oid (&oe, oidtmp)))
-       (*p->addSchema)(p, oidtmp);
+       (*p->schemaAdd)(p, oidtmp);
 
     if (dumpkeys(n, p, 0) < 0)
     {
@@ -566,6 +581,9 @@ static int grs_retrieve(void *clientData, struct recRetrieveCtrl *p)
         nmem_destroy (mem);
        return 0;
     }
+#if 0
+    data1_pr_tree (p->dh, node, stdout);
+#endif
     logf (LOG_DEBUG, "grs_retrieve: size");
     if ((dnew = data1_insert_taggeddata(p->dh, node, node,
                                       "size", mem)))
@@ -717,7 +735,7 @@ static int grs_retrieve(void *clientData, struct recRetrieveCtrl *p)
        
     case VAL_TEXT_XML:
        if (!(p->rec_buf = data1_nodetoidsgml(p->dh, node, selected,
-                                             (int*)&p->rec_len)))
+                                             &p->rec_len)))
            p->diagnostic = 238;
        else
        {
@@ -750,7 +768,7 @@ static int grs_retrieve(void *clientData, struct recRetrieveCtrl *p)
        break;
     case VAL_SUTRS:
        if (!(p->rec_buf = data1_nodetobuf(p->dh, node, selected,
-                                          (int*)&p->rec_len)))
+                                          &p->rec_len)))
            p->diagnostic = 238;
        else
        {
@@ -761,7 +779,7 @@ static int grs_retrieve(void *clientData, struct recRetrieveCtrl *p)
        break;
     case VAL_SOIF:
        if (!(p->rec_buf = data1_nodetosoif(p->dh, node, selected,
-                                           (int*)&p->rec_len)))
+                                           &p->rec_len)))
            p->diagnostic = 238;
        else
        {
@@ -786,8 +804,7 @@ static int grs_retrieve(void *clientData, struct recRetrieveCtrl *p)
            break;
        }
        if (!(p->rec_buf = data1_nodetomarc(p->dh, marctab, node,
-                                               selected,
-                                           (int*)&p->rec_len)))
+                                       selected, &p->rec_len)))
            p->diagnostic = 238;
        else
        {