X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=rset%2Frsprox.c;h=896854e8f48fa3dbd5253ebf362d8db87f3306cc;hb=c1b2004dece42eba1b3d79c34bcbf7cac4ba2092;hp=a88e4fcddd11df60ac731953a3ba51c53c959778;hpb=4478d785b7769691261005c98063b98a5a5971b3;p=idzebra-moved-to-github.git diff --git a/rset/rsprox.c b/rset/rsprox.c index a88e4fc..896854e 100644 --- a/rset/rsprox.c +++ b/rset/rsprox.c @@ -1,8 +1,5 @@ -/* $Id: rsprox.c,v 1.32 2006-08-14 10:40:21 adam Exp $ - Copyright (C) 1995-2006 - Index Data ApS - -This file is part of the Zebra server. +/* This file is part of the Zebra server. + Copyright (C) 1994-2009 Index Data Zebra is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free @@ -224,11 +221,14 @@ static int r_forward(RSFD rfd, void *buf, TERMID *term, const void *untilbuf) seqno[n++] = (*kctrl->getseq)(p->buf[0]); while ((p->more[0] = rset_read (p->rfd[0], - p->buf[0], &p->terms[0])) >= -1 && - p->more[0] <= -1) + p->buf[0], &p->terms[0]))) + { + cmp = (*kctrl->cmp)(p->buf[0], p->buf[1]); + if (cmp <= - rfd->rset->scope || cmp >= rfd->rset->scope) + break; if (n < 500) seqno[n++] = (*kctrl->getseq)(p->buf[0]); - + } for (i = 0; igetseq)(p->buf[1]) - seqno[i]; @@ -336,6 +336,7 @@ static void r_get_terms(RSET ct, TERMID *terms, int maxterms, int *curterm) /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil * End: * vim: shiftwidth=4 tabstop=8 expandtab