-/* $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
#include <stdio.h>
#include <assert.h>
+#include <limits.h>
#ifdef WIN32
#include <io.h>
#endif
* 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) */
}
/*