X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=zoom%2Fzoomtst6.c;h=2ac31f7f72dfd48318c6c0b4493c28228bb78bcf;hp=aa583bb26098b93e30e89468299c585ed77e34ee;hb=d84e4c3cd444d04aee7beeadb5bb0ae061ee24c9;hpb=13671e7cc0f3dd4e4b02f94d64a50778c5696ba6 diff --git a/zoom/zoomtst6.c b/zoom/zoomtst6.c index aa583bb..2ac31f7 100644 --- a/zoom/zoomtst6.c +++ b/zoom/zoomtst6.c @@ -1,7 +1,6 @@ -/* - * $Id: zoomtst6.c,v 1.7 2001-11-18 21:14:23 adam Exp $ - * - * Asynchronous multi-target client doing two searches +/* This file is part of the YAZ toolkit. + * Copyright (C) Index Data + * See the file LICENSE for details. */ #include @@ -14,24 +13,29 @@ 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, ZOOM_resultset_size(r)); + printf ("%s: %ld hits\n", tname, (long) ZOOM_resultset_size(r)); /* go through all records at target */ - for (pos = 0; pos < 2; pos++) + for (pos = 0; pos < 4; pos++) { ZOOM_record rec = ZOOM_resultset_record (r, pos); - - /* 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); - putchar ('\n'); - } + 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) + { + if (fwrite (render, 1, len, stdout) != (size_t) len) + printf("write to stdout failed\n"); + } + printf ("\n"); + } + } } } @@ -48,9 +52,9 @@ int main(int argc, char **argv) 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; @@ -67,51 +71,47 @@ int main(int argc, char **argv) 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