Option -d for testclient. Typos.
[idzebra-moved-to-github.git] / test / testclient.c
1 /*
2  * $Id: testclient.c,v 1.3 2002-10-23 13:41:15 adam Exp $
3  *
4  * Synchronous single-target client doing search (but no yet retrieval)
5  */
6
7 #include <stdlib.h>
8 #include <stdio.h>
9 #include <yaz/xmalloc.h>
10 #include <yaz/options.h>
11 #include <yaz/zoom.h>
12
13 char *prog = "testclient";
14
15 int main(int argc, char **argv)
16 {
17     ZOOM_connection z;
18     ZOOM_resultset r;
19     int error;
20     const char *errmsg, *addinfo;
21     char *query = 0;
22     char *target = 0;
23     char *arg;
24     int delay_sec = 0;
25     int ret;
26
27     while ((ret = options("d:", argv, argc, &arg)) != -2)
28     {
29         switch (ret)
30         {
31         case 0:
32             if (!target)
33                 target = xstrdup(arg);
34             else if (!query)
35                 query = xstrdup(arg);
36             break;
37         case 'd':
38             delay_sec = atoi(arg);
39             break;
40         default:
41             printf ("%s: unknown option %s\n", prog, arg);
42             printf ("usage:\n%s [options] target query \n", prog);
43             printf (" eg.  bagel.indexdata.dk/gils computer\n");
44             exit (1);
45         }
46     }
47
48     if (!target || !target)
49     {
50         printf ("%s: missing target/query\n", prog);
51         printf ("usage:\n%s [options] target query \n", prog);
52         printf (" eg.  bagel.indexdata.dk/gils computer\n");
53         exit (3);
54     }
55     z = ZOOM_connection_new (target, 0);
56     
57     if ((error = ZOOM_connection_error(z, &errmsg, &addinfo)))
58     {
59         printf ("Error: %s (%d) %s\n", errmsg, error, addinfo);
60         exit (2);
61     }
62
63     r = ZOOM_connection_search_pqf (z, query);
64     if ((error = ZOOM_connection_error(z, &errmsg, &addinfo)))
65         fprintf (stderr, "Error: %s (%d) %s\n", errmsg, error, addinfo);
66     else
67         printf ("Result count: %d\n", ZOOM_resultset_size(r));
68     
69     if (delay_sec > 0)
70         sleep(delay_sec);
71     ZOOM_resultset_destroy (r);
72     ZOOM_connection_destroy (z);
73     exit (0);
74 }