X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fzoom-c.c;h=41736823070ac83179c01e658ffac9b831fd5eb5;hb=a1f888c8d35ebce2c0b3a6be4e7dc4f7d9dfcf63;hp=21d17c99057ea3b294ebd38d79a733e280180309;hpb=2c44707f5748b152795560cb9551c4211394a8ef;p=yaz-moved-to-github.git diff --git a/src/zoom-c.c b/src/zoom-c.c index 21d17c9..4173682 100644 --- a/src/zoom-c.c +++ b/src/zoom-c.c @@ -2,7 +2,7 @@ * Copyright (C) 1995-2005, Index Data ApS * See the file LICENSE for details. * - * $Id: zoom-c.c,v 1.66 2006-03-31 09:51:22 adam Exp $ + * $Id: zoom-c.c,v 1.68 2006-04-07 11:27:24 adam Exp $ */ /** * \file zoom-c.c @@ -245,6 +245,12 @@ void ZOOM_connection_remove_task (ZOOM_connection c) assert (0); } xfree (task); + + if (!c->tasks) + { + ZOOM_Event event = ZOOM_Event_create(ZOOM_EVENT_END); + ZOOM_connection_put_event(c, event); + } } } @@ -1144,7 +1150,7 @@ static zoom_ret ZOOM_connection_send_init (ZOOM_connection c) ZOOM_options_get(c->options, "implementationName"), odr_prepend(c->odr_out, "ZOOM-C", ireq->implementationName)); - version = odr_strdup(c->odr_out, "$Revision: 1.66 $"); + version = odr_strdup(c->odr_out, "$Revision: 1.68 $"); if (strlen(version) > 10) /* check for unexpanded CVS strings */ version[strlen(version)-2] = '\0'; ireq->implementationVersion = odr_prepend(c->odr_out, @@ -2368,9 +2374,10 @@ static zoom_ret send_present(ZOOM_connection c) *req->resultSetStartPoint = resultset->start + 1; *req->numberOfRecordsRequested = resultset->step>0 ? resultset->step : resultset->count; + if (*req->numberOfRecordsRequested + resultset->start > resultset->size) + *req->numberOfRecordsRequested = resultset->size - resultset->start; assert (*req->numberOfRecordsRequested > 0); - if (syntax && *syntax) req->preferredRecordSyntax = yaz_str_to_z3950oid (c->odr_out, CLASS_RECSYN, syntax);