X-Git-Url: http://git.indexdata.com/?p=idzebra-moved-to-github.git;a=blobdiff_plain;f=rset%2Frsisamb.c;h=62e63d718cc41d2244afb2456581a2cd40bbe4ce;hp=cbd6cd88451d7467f80855aa30cd81612a6534a2;hb=f3f20a205132c39c9434b10086422c6b49b47faf;hpb=0e898c0c6183c6dd9701286f6a4ac9b734c9bdbb diff --git a/rset/rsisamb.c b/rset/rsisamb.c index cbd6cd8..62e63d7 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) 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 @@ -33,32 +33,31 @@ static int r_forward(RSFD rfd, void *buf, TERMID *term, const void *untilbuf); static void r_pos(RSFD rfd, double *current, double *total); 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, + rset_no_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, + rset_no_write, }; struct rfd_private { @@ -80,8 +79,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 +128,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 +140,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) @@ -181,8 +180,12 @@ static int r_read_filter(RSFD rfd, void *buf, TERMID *term) return rc; } -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 + */ +