X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fzsets.c;h=b43ea18eca8948bd4d6e6c330f2a58818670cd50;hb=a6908b6d93de84a850a3e558a2e4c17f02c3d651;hp=f4f21e81146f366db33a51e594a8f8b0a64252ef;hpb=9fe3bf8d659adc5c0623185779272d933fc51d15;p=idzebra-moved-to-github.git diff --git a/index/zsets.c b/index/zsets.c index f4f21e8..b43ea18 100644 --- a/index/zsets.c +++ b/index/zsets.c @@ -4,7 +4,17 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: zsets.c,v $ - * Revision 1.9 1995-10-17 18:02:14 adam + * Revision 1.12 1997-09-25 14:57:36 adam + * Windows NT port. + * + * Revision 1.11 1996/12/23 15:30:46 adam + * Work on truncation. + * Bug fix: result sets weren't deleted after server shut down. + * + * Revision 1.10 1995/10/30 15:08:08 adam + * Bug fixes. + * + * Revision 1.9 1995/10/17 18:02:14 adam * New feature: databases. Implemented as prefix to words in dictionary. * * Revision 1.8 1995/10/10 13:59:25 adam @@ -39,7 +49,11 @@ */ #include #include +#ifdef WINDOWS +#include +#else #include +#endif #include "zserver.h" #include @@ -76,6 +90,20 @@ ZServerSet *resultSetGet (ZServerInfo *zi, const char *name) return NULL; } +void resultSetDestroy (ZServerInfo *zi) +{ + ZServerSet *s, *s1; + + for (s = zi->sets; s; s = s1) + { + s1 = s->next; + rset_delete (s->rset); + xfree (s->name); + xfree (s); + } + zi->sets = NULL; +} + ZServerSetSysno *resultSetSysnoGet (ZServerInfo *zi, const char *name, int num, int *positions) { @@ -101,11 +129,11 @@ ZServerSetSysno *resultSetSysnoGet (ZServerInfo *zi, const char *name, { psysno = key.sysno; position++; + assert (num_i < num); if (position == positions[num_i]) { sr[num_i].sysno = psysno; rset_score (rset, rfd, &sr[num_i].score); - num_i++; if (++num_i == num) break; }