X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=rset%2Frset.c;h=7af05c9743dfdb2bae330a5bfae9de46193c2b8c;hb=d8e960f5f1060148a5fffa7a767c72391662fbdc;hp=41d39a7feb2cc7316a273be95277b709856d0ec1;hpb=f00e10dfcb19faeeabb42c5532f4b47f5548be97;p=idzebra-moved-to-github.git diff --git a/rset/rset.c b/rset/rset.c index 41d39a7..7af05c9 100644 --- a/rset/rset.c +++ b/rset/rset.c @@ -1,4 +1,4 @@ -/* $Id: rset.c,v 1.43 2005-01-17 01:21:44 adam Exp $ +/* $Id: rset.c,v 1.45 2005-05-03 09:11:36 adam Exp $ Copyright (C) 1995-2005 Index Data ApS @@ -22,7 +22,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include #include -#include +#include #include #include #include @@ -51,7 +51,7 @@ RSFD rfd_create_base(RSET rs) else { rnew = nmem_malloc(rs->nmem, sizeof(*rnew)); - rnew->priv = NULL; + rnew->priv = 0; rnew->rset = rs; yaz_log(log_level, "rfd_create_base (new): rfd=%p rs=%p fl=%p priv=%p", rnew, rs, rs->free_list, rnew->priv); @@ -84,7 +84,7 @@ void rfd_delete_base(RSFD rfd) } RSET rset_create_base(const struct rset_control *sel, - NMEM nmem, const struct key_control *kcontrol, + NMEM nmem, struct rset_key_control *kcontrol, int scope, TERMID term) { RSET rnew; @@ -113,6 +113,7 @@ RSET rset_create_base(const struct rset_control *sel, rnew->free_list = NULL; rnew->use_list = NULL; rnew->keycontrol = kcontrol; + (*kcontrol->inc)(kcontrol); rnew->scope = scope; rnew->term = term; if (term) @@ -131,6 +132,7 @@ void rset_delete (RSET rs) yaz_log(YLOG_WARN, "rs_delete(%s) still has RFDs in use", rs->control->desc); (*rs->control->f_delete)(rs); + (*rs->keycontrol->dec)(rs->keycontrol); if (rs->my_nmem) nmem_destroy(rs->nmem); } @@ -148,6 +150,7 @@ RSET rset_dup (RSET rs) (rs->count)++; yaz_log(log_level, "rs_dup(%s), rs=%p, count=%d", rs->control->desc, rs, rs->count); + (*rs->keycontrol->inc)(rs->keycontrol); return rs; }