Code updates which makes things compile as C++. Mostly type casts were
[yaz-moved-to-github.git] / zoom / zoomtst10.c
1 /* $Id: zoomtst10.c,v 1.4 2007-01-03 08:42:17 adam Exp $  */
2
3 /** \file zoomtst10.c
4     \brief Synchronous single-target search using CCL conversion
5 */
6
7 #include <stdlib.h>
8 #include <stdio.h>
9 #include <yaz/xmalloc.h>
10 #include <yaz/zoom.h>
11
12 int main(int argc, char **argv)
13 {
14     ZOOM_connection z;
15     ZOOM_resultset r;
16     ZOOM_query q = ZOOM_query_create();
17     int error;
18     const char *errmsg, *addinfo;
19     int ccl_error_code, ccl_error_pos;
20     const char *ccl_error_string;
21
22     if (argc != 3)
23     {
24         fprintf (stderr, "usage:\n%s target cclquery\n", *argv);
25         fprintf (stderr, " eg.  bagel.indexdata.dk/gils \"ti=utah\"\n");
26         exit (1);
27     }
28
29     if (ZOOM_query_ccl2rpn(q, argv[2], 
30                            "term t=l,r s=al\n" "ti u=4 s=pw\n",
31                            &ccl_error_code, &ccl_error_string, &ccl_error_pos))
32     {
33         printf("CCL Error %d: %s\n", ccl_error_code, ccl_error_string);
34         if (ccl_error_pos >= 0)
35             printf("%s\n%*s^\n", argv[2], ccl_error_pos, "");
36         ZOOM_query_destroy(q);
37     }
38     else
39     {
40         z = ZOOM_connection_new (argv[1], 0);
41         
42         if ((error = ZOOM_connection_error(z, &errmsg, &addinfo)))
43         {
44             fprintf (stderr, "Error: %s (%d) %s\n", errmsg, error, addinfo);
45             exit (2);
46         }
47         
48         r = ZOOM_connection_search (z, q);
49         ZOOM_query_destroy(q);
50         if ((error = ZOOM_connection_error(z, &errmsg, &addinfo)))
51             fprintf (stderr, "Error: %s (%d) %s\n", errmsg, error, addinfo);
52         else
53             printf ("Result count: %ld\n", (long) ZOOM_resultset_size(r));
54         ZOOM_resultset_destroy (r);
55         ZOOM_connection_destroy (z);
56     }
57     exit (0);
58 }
59 /*
60  * Local variables:
61  * c-basic-offset: 4
62  * indent-tabs-mode: nil
63  * End:
64  * vim: shiftwidth=4 tabstop=8 expandtab
65  */
66