/*
- * $Id: zoom-c.c,v 1.7 2001-11-15 13:16:02 adam Exp $
+ * $Id: zoom-c.c,v 1.8 2001-11-15 21:59:40 adam Exp $
*
* ZOOM layer for C, connections, result sets, queries.
*/
c = r->connection;
if (!c)
return;
+ if (start >= r->size)
+ return;
+
+ if (start + count > r->size)
+ count = r->size - start;
+
task = Z3950_connection_add_task (c, Z3950_TASK_RETRIEVE);
task->u.resultset = r;
Z3950_resultset_addref (r);
/*
- * $Id: zoomtst6.c,v 1.4 2001-11-15 08:58:29 adam Exp $
+ * $Id: zoomtst6.c,v 1.5 2001-11-15 21:59:40 adam Exp $
*
* Asynchronous multi-target client doing two searches
*/
int pos;
printf ("%s: %d hits\n", tname, Z3950_resultset_size(r));
/* go through all records at target */
- for (pos = 0; pos < 20; pos++)
+ for (pos = 0; pos < 2; pos++)
{
Z3950_record rec = Z3950_resultset_record (r, pos);
for (i = 0; i<no; i++)
r2[i] = Z3950_connection_search (z[i], q);
+
+ /* network I/O */
+ while (Z3950_event (no, z))
+ ;
+
+ for (i = 0; i<no; i++)
+ Z3950_resultset_records (r1[i], 0, 4, 1);
+
/* network I/O */
while (Z3950_event (no, z))
;