X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Flimit.c;h=462726e4fc13f2bdb687200effaeaf8ea6a5064b;hb=44082770642275dd993aa621d9dc5c5b0dc454d3;hp=047a07a4d66a2e2e6a4430fd53e4d44a5b41be04;hpb=0e898c0c6183c6dd9701286f6a4ac9b734c9bdbb;p=idzebra-moved-to-github.git diff --git a/index/limit.c b/index/limit.c index 047a07a..462726e 100644 --- a/index/limit.c +++ b/index/limit.c @@ -1,4 +1,4 @@ -/* $Id: limit.c,v 1.1 2005-05-03 09:11:34 adam Exp $ +/* $Id: limit.c,v 1.3 2005-05-09 10:28:09 adam Exp $ Copyright (C) 1995-2005 Index Data ApS @@ -28,7 +28,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include "index.h" struct zebra_limit { - int exclude_flag; + int complement_flag; zint *ids; }; @@ -41,18 +41,18 @@ void zebra_limit_destroy(struct zebra_limit *zl) } } -struct zebra_limit *zebra_limit_create(int exclude_flag, zint *ids) +struct zebra_limit *zebra_limit_create(int complement_flag, zint *ids) { struct zebra_limit *zl = 0; size_t i; - for (i = 0; ids && ids[i]; i++) - ; - if (i) + if (ids) { + for (i = 0; ids[i]; i++) + ; zl = xmalloc(sizeof(*zl)); zl->ids = xmalloc((i+1) * sizeof(*ids)); memcpy(zl->ids, ids, (i+1) * sizeof(*ids)); - zl->exclude_flag = exclude_flag; + zl->complement_flag = complement_flag; } return zl; } @@ -67,8 +67,8 @@ static int zebra_limit_filter_cb(const void *buf, void *data) return 1; for (i = 0; zl->ids[i]; i++) if (zl->ids[i] == key->mem[1]) - return zl->exclude_flag ? 0 : 1; - return zl->exclude_flag ? 1 : 0; + return zl->complement_flag ? 0 : 1; + return zl->complement_flag ? 1 : 0; } static void zebra_limit_destroy_cb(void *data) @@ -85,7 +85,7 @@ void zebra_limit_for_rset(struct zebra_limit *zl, { struct zebra_limit *hl; - hl = zebra_limit_create(zl->exclude_flag, zl->ids); + hl = zebra_limit_create(zl->complement_flag, zl->ids); *filter_data = hl; *filter_func = zebra_limit_filter_cb; *filter_destroy = zebra_limit_destroy_cb;