X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=zoom%2Fzoomtst6.c;h=90f41fff0ace50501bc7deb27aa74d8a5415d2c3;hp=910866d3eff251020b13db9cb10b27a6d74cafef;hb=d168db0590bc858a1bc9bd5a6ea66abbcd8f7d7d;hpb=d00666d5391066b1acba398090170d3766ec7e4f diff --git a/zoom/zoomtst6.c b/zoom/zoomtst6.c index 910866d..90f41ff 100644 --- a/zoom/zoomtst6.c +++ b/zoom/zoomtst6.c @@ -1,8 +1,8 @@ -/* - * $Id: zoomtst6.c,v 1.4 2001-11-15 08:58:29 adam Exp $ - * - * Asynchronous multi-target client doing two searches - */ +/* $Id: zoomtst6.c,v 1.12 2006-04-21 10:28:08 adam Exp $ */ + +/** \file zoomtst6.c + \brief Asynchronous multi-target client with two searches +*/ #include #include @@ -10,28 +10,30 @@ #include -static void display_records (const char *tname, Z3950_resultset r) +static void display_records (const char *tname, ZOOM_resultset r) { /* OK, no major errors. Look at the result count */ int pos; - printf ("%s: %d hits\n", tname, Z3950_resultset_size(r)); + printf ("%s: %ld hits\n", tname, (long) ZOOM_resultset_size(r)); /* go through all records at target */ - for (pos = 0; pos < 20; pos++) + for (pos = 0; pos < 4; pos++) { - Z3950_record rec = Z3950_resultset_record (r, pos); - - /* get database for record and record itself at pos */ - const char *db = Z3950_record_get (rec, "database", 0); - int len; - const char *render = Z3950_record_get (rec, "render", &len); - /* if rec is non-null, we got a record for display */ - if (rec) - { - printf ("%d %s\n", pos+1, (db ? db : "unknown")); - if (render) - fwrite (render, 1, len, stdout); - putchar ('\n'); - } + ZOOM_record rec = ZOOM_resultset_record (r, pos); + if (rec) + { + /* get database for record and record itself at pos */ + const char *db = ZOOM_record_get (rec, "database", 0); + int len; + const char *render = ZOOM_record_get (rec, "render", &len); + /* if rec is non-null, we got a record for display */ + if (rec) + { + printf ("%d %s\n", pos+1, (db ? db : "unknown")); + if (render) + fwrite (render, 1, len, stdout); + printf ("\n"); + } + } } } @@ -39,80 +41,92 @@ int main(int argc, char **argv) { int i; int no = argc-3; - Z3950_connection z[500]; /* allow at most 500 connections */ - Z3950_resultset r1[500]; /* and result sets .. */ - Z3950_resultset r2[500]; /* and result sets .. */ - Z3950_query q; - Z3950_options o; + ZOOM_connection z[500]; /* allow at most 500 connections */ + ZOOM_resultset r1[500]; /* and result sets .. */ + ZOOM_resultset r2[500]; /* and result sets .. */ + ZOOM_query q; + ZOOM_options o; - o = Z3950_options_create (); + o = ZOOM_options_create (); if (argc < 4) { - fprintf (stderr, "usage:\n%s target1 .. targetN query1 query2\n", - *argv); - exit (1); + fprintf (stderr, "usage:\n%s target1 .. targetN query1 query2\n", + *argv); + exit (1); } if (no > 500) no = 500; - Z3950_options_set (o, "async", "1"); + ZOOM_options_set (o, "async", "1"); /* get 3 (at most) records from beginning */ - Z3950_options_set (o, "count", "3"); + ZOOM_options_set (o, "count", "3"); - Z3950_options_set (o, "preferredRecordSyntax", "sutrs"); - Z3950_options_set (o, "elementSetName", "B"); + ZOOM_options_set (o, "preferredRecordSyntax", "sutrs"); + ZOOM_options_set (o, "elementSetName", "B"); /* create query */ - q = Z3950_query_create (); - if (Z3950_query_prefix (q, argv[argc-2])) + q = ZOOM_query_create (); + if (ZOOM_query_prefix (q, argv[argc-2])) { - printf ("bad PQF: %s\n", argv[argc-2]); - exit (2); + printf ("bad PQF: %s\n", argv[argc-2]); + exit (2); } /* connect - and search all */ for (i = 0; i