Updated WIN32 code specific sections. Changed header.
[idzebra-moved-to-github.git] / index / zsets.c
index 09d6d4e..5deef63 100644 (file)
@@ -1,10 +1,23 @@
 /*
- * Copyright (C) 1994-1998, Index Data
+ * Copyright (C) 1994-1999, Index Data
  * All rights reserved.
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: zsets.c,v $
- * Revision 1.18  1998-09-22 10:03:45  adam
+ * Revision 1.22  1999-02-02 14:51:15  adam
+ * Updated WIN32 code specific sections. Changed header.
+ *
+ * Revision 1.21  1998/11/16 16:03:46  adam
+ * Moved loggin utilities to Yaz. Was implemented in file zlogs.c.
+ *
+ * Revision 1.20  1998/11/16 10:10:53  adam
+ * Fixed problem with zebraPosSetCreate that occurred when positions were
+ * less than 1.
+ *
+ * Revision 1.19  1998/09/22 10:48:22  adam
+ * Minor changes in search API.
+ *
+ * Revision 1.18  1998/09/22 10:03:45  adam
  * Changed result sets to be persistent in the sense that they can
  * be re-searched if needed.
  * Fixed memory leak in rsm_or.
@@ -72,7 +85,7 @@
  */
 #include <stdio.h>
 #include <assert.h>
-#ifdef WINDOWS
+#ifdef WIN32
 #include <io.h>
 #else
 #include <unistd.h>
@@ -109,14 +122,12 @@ struct zset_sort_info {
     struct zset_sort_entry **entries;
 };
 
-ZebraSet resultSetAddRPN (ZebraHandle zh, ODR stream, ODR decode,
+ZebraSet resultSetAddRPN (ZebraHandle zh, ODR input, ODR output,
                          Z_RPNQuery *rpn, int num_bases, char **basenames, 
                          const char *setname)
 {
     ZebraSet zebraSet;
 
-    zlog_rpn (rpn);
-
     zh->errCode = 0;
     zh->errString = NULL;
     zh->hits = 0;
@@ -127,9 +138,9 @@ ZebraSet resultSetAddRPN (ZebraHandle zh, ODR stream, ODR decode,
     zebraSet->rpn = 0;
     zebraSet->num_bases = num_bases;
     zebraSet->basenames = basenames;
-    zebraSet->nmem = odr_extract_mem (decode);
+    zebraSet->nmem = odr_extract_mem (input);
 
-    zebraSet->rset = rpn_search (zh, stream->mem, rpn,
+    zebraSet->rset = rpn_search (zh, output->mem, rpn,
                                  zebraSet->num_bases,
                                 zebraSet->basenames, zebraSet->name,
                                 zebraSet);
@@ -252,7 +263,7 @@ ZebraPosSet zebraPosSetCreate (ZebraHandle zh, const char *name,
        for (i = 0; i<num; i++)
        {
            position = positions[i];
-           if (position <= sort_info->num_entries)
+           if (position > 0 && position <= sort_info->num_entries)
            {
                logf (LOG_DEBUG, "got pos=%d (sorted)", position);
                sr[i].sysno = sort_info->entries[position-1]->sysno;