Minor leak fixes - in case if zebra_register_open fail.
[idzebra-moved-to-github.git] / index / rankstatic.c
index a17055f..9abc7ec 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: rankstatic.c,v 1.1 2005-08-19 09:21:34 adam Exp $
+/* $Id: rankstatic.c,v 1.3 2005-08-19 11:04:23 adam Exp $
    Copyright (C) 1995-2005
    Index Data ApS
 
@@ -22,6 +22,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 
 #include <stdio.h>
 #include <assert.h>
+#include <limits.h>
 #ifdef WIN32
 #include <io.h>
 #endif
@@ -115,14 +116,17 @@ static void add (void *set_handle, int seqno, TERMID term)
  *  score should be between 0 and 1000. If score cannot be obtained
  *  -1 should be returned.
  */
-static int calc (void *set_handle, zint sysno, zint staticrank)
+static int calc (void *set_handle, zint sysno, zint staticrank,
+                int *stop_flag)
 {
     struct rank_set_info *si = (struct rank_set_info *) set_handle;
 
     if (!si->no_rank_entries)
        return -1;   /* ranking not enabled for any terms */
 
-    return staticrank+10;
+    /* if we set *stop_flag = 1, we stop processing (of result set list) */
+    /* staticrank = 0 is highest, MAXINT lowest */
+    return INT_MAX - staticrank;  /* but score is reverse (logical) */
 }
 
 /*