More work on present. Some log messages removed.
authorAdam Dickmeiss <adam@indexdata.dk>
Wed, 6 Sep 1995 10:33:04 +0000 (10:33 +0000)
committerAdam Dickmeiss <adam@indexdata.dk>
Wed, 6 Sep 1995 10:33:04 +0000 (10:33 +0000)
index/zrpn.c
index/zserver.c
index/zsets.c

index 17c0dbc..46d7afd 100644 (file)
@@ -4,7 +4,10 @@
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: zrpn.c,v $
- * Revision 1.4  1995-09-05 15:28:40  adam
+ * Revision 1.5  1995-09-06 10:33:04  adam
+ * More work on present. Some log messages removed.
+ *
+ * Revision 1.4  1995/09/05  15:28:40  adam
  * More work on search engine.
  *
  * Revision 1.3  1995/09/04  15:20:22  adam
 
 #include <rsisam.h>
 #include <rstemp.h>
+#include <rsnull.h>
 
 static RSET rpn_search_APT (ZServerInfo *zi, Z_AttributesPlusTerm *zapt)
 {
+    char termz[256];
+    size_t sizez;
     struct rset_isam_parms parms;
     const char *info;
     Z_Term *term = zapt->term;
 
     if (term->which != Z_Term_general)
         return NULL; 
-    logf (LOG_DEBUG, "dict_lookup: %s", term->u.general->buf);    
-    if (!(info = dict_lookup (zi->wordDict, term->u.general->buf)))
-    {
-        rset_temp_parms parms;
-
-        parms.key_size = sizeof(struct it_key);
-        return rset_create (rset_kind_temp, &parms);
-    }
+    sizez = term->u.general->len;
+    if (sizez > 255)
+        sizez = 255;
+    memcpy (termz, term->u.general->buf, sizez);
+    termz[sizez] = '\0';
+    logf (LOG_DEBUG, "dict_lookup: %s", termz);
+    if (!(info = dict_lookup (zi->wordDict, termz)))
+        return rset_create (rset_kind_null, NULL);
     assert (*info == sizeof(parms.pos));
     memcpy (&parms.pos, info+1, sizeof(parms.pos));
     parms.is = zi->wordIsam;
@@ -180,7 +186,6 @@ static RSET rpn_save_set (RSET r, int *count)
             psysno = key.sysno;
             (*count)++;
         }
-        logf (LOG_DEBUG, "lllllllllllllllll");
 #if 0
         rset_write (d, &key);
 #endif
index 61e4bd6..8fa470f 100644 (file)
@@ -4,7 +4,10 @@
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: zserver.c,v $
- * Revision 1.3  1995-09-05 15:28:40  adam
+ * Revision 1.4  1995-09-06 10:33:04  adam
+ * More work on present. Some log messages removed.
+ *
+ * Revision 1.3  1995/09/05  15:28:40  adam
  * More work on search engine.
  *
  * Revision 1.2  1995/09/04  12:33:43  adam
@@ -107,6 +110,12 @@ bend_fetchresult *bend_fetch (void *handle, bend_fetchrequest *q, int *num)
         r.errcode = 13;
         return &r;
     }
+    if (!records[0].buf)
+    {
+        r.errcode = 13;
+        logf (LOG_DEBUG, "Out of range. pos=%d", q->number);
+        return &r;
+    }
     r.len = records[0].size;
     r.record = malloc (r.len+1);
     strcpy (r.record, records[0].buf);
index 223103a..2963e4f 100644 (file)
@@ -4,7 +4,10 @@
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: zsets.c,v $
- * Revision 1.1  1995-09-05 15:28:40  adam
+ * Revision 1.2  1995-09-06 10:33:04  adam
+ * More work on present. Some log messages removed.
+ *
+ * Revision 1.1  1995/09/05  15:28:40  adam
  * More work on search engine.
  *
  */
@@ -67,7 +70,6 @@ ZServerRecord *resultSetRecordGet (ZServerInfo *zi, const char *name,
     rset_open (rset, 0);
     while (rset_read (rset, &key))
     {
-        logf (LOG_DEBUG, "resultSetRecordGet: %d", key.sysno);
         if (key.sysno != psysno)
         {
             psysno = key.sysno;
@@ -77,7 +79,6 @@ ZServerRecord *resultSetRecordGet (ZServerInfo *zi, const char *name,
                 FILE *inf;
                 char fname[SYS_IDX_ENTRY_LEN];
 
-                logf (LOG_DEBUG, "get sysno=%d", psysno);
                 sr[num_i].buf = NULL;
                 if (lseek (zi->sys_idx_fd, psysno * SYS_IDX_ENTRY_LEN,
                            SEEK_SET) == -1)
@@ -118,6 +119,12 @@ ZServerRecord *resultSetRecordGet (ZServerInfo *zi, const char *name,
         }
     }
     rset_close (rset);
+    while (num_i < num)
+    {
+        sr[num_i].buf = NULL;
+        sr[num_i].size = 0;
+        num_i++;
+    }
     return sr;
 }