X-Git-Url: http://git.indexdata.com/?p=idzebra-moved-to-github.git;a=blobdiff_plain;f=rset%2Frsisamb.c;h=024c9c2d5350b1b263e82e8bf9daa89988c15116;hp=cbd6cd88451d7467f80855aa30cd81612a6534a2;hb=d02c4c703a93e0ad3f4ccde4519879f1f57a6824;hpb=0e898c0c6183c6dd9701286f6a4ac9b734c9bdbb diff --git a/rset/rsisamb.c b/rset/rsisamb.c index cbd6cd8..024c9c2 100644 --- a/rset/rsisamb.c +++ b/rset/rsisamb.c @@ -1,8 +1,5 @@ -/* $Id: rsisamb.c,v 1.33 2005-05-03 09:11:36 adam Exp $ - Copyright (C) 1995-2005 - Index Data ApS - -This file is part of the Zebra server. +/* This file is part of the Zebra server. + Copyright (C) 1994-2011 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 @@ -15,11 +12,14 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with Zebra; see the file LICENSE.zebra. If not, write to the -Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA -02111-1307, USA. +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ +#if HAVE_CONFIG_H +#include +#endif #include #include #include @@ -35,27 +35,27 @@ static int r_read(RSFD rfd, void *buf, TERMID *term); static int r_read_filter(RSFD rfd, void *buf, TERMID *term); static int r_write(RSFD rfd, const void *buf); -static const struct rset_control control = +static const struct rset_control control = { "isamb", r_delete, rset_get_one_term, r_open, r_close, - r_forward, + r_forward, r_pos, r_read, r_write, }; -static const struct rset_control control_filter = +static const struct rset_control control_filter = { "isamb", r_delete, rset_get_one_term, r_open, r_close, - r_forward, + r_forward, r_pos, r_read_filter, r_write, @@ -80,8 +80,9 @@ RSET rsisamb_create(NMEM nmem, struct rset_key_control *kcontrol, { RSET rnew = rset_create_base( kcontrol->filter_func ? &control_filter : &control, - nmem, kcontrol, scope, term); + nmem, kcontrol, scope, term, 0, 0); struct rset_private *info; + assert(pos); if (!log_level_initialized) { log_level = yaz_log_module_level("rsisamb"); @@ -128,7 +129,6 @@ static void r_close(RSFD rfd) { struct rfd_private *ptinfo = (struct rfd_private *)(rfd->priv); isamb_pp_close (ptinfo->pt); - rfd_delete_base(rfd); yaz_log(log_level, "rsisamb_close"); } @@ -141,7 +141,7 @@ static int r_forward(RSFD rfd, void *buf, TERMID *term, const void *untilbuf) if (rc && term) *term = rfd->rset->term; yaz_log(log_level, "rsisamb_forward"); - return rc; + return rc; } static void r_pos(RSFD rfd, double *current, double *total) @@ -186,3 +186,12 @@ static int r_write(RSFD rfd, const void *buf) yaz_log(YLOG_FATAL, "ISAMB set type is read-only"); return -1; } +/* + * Local variables: + * c-basic-offset: 4 + * c-file-style: "Stroustrup" + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +