X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=zoom%2Fzoomtst10.c;fp=zoom%2Fzoomtst10.c;h=73710be1f260ca9e483e411d61521c27a9062809;hb=a89ed3c40c9eab3721ccbd5e91919ba06208edbc;hp=0000000000000000000000000000000000000000;hpb=d1fb65aa541a7a50654b8b224f0b5303ebd9c516;p=yaz-moved-to-github.git diff --git a/zoom/zoomtst10.c b/zoom/zoomtst10.c new file mode 100644 index 0000000..73710be --- /dev/null +++ b/zoom/zoomtst10.c @@ -0,0 +1,66 @@ +/* $Id: zoomtst10.c,v 1.1 2006-06-15 10:34:24 adam Exp $ */ + +/** \file zoomtst10.c + \brief Synchronous single-target search using CCL conversion +*/ + +#include +#include +#include +#include + +int main(int argc, char **argv) +{ + ZOOM_connection z; + ZOOM_resultset r; + ZOOM_query q = ZOOM_query_create(); + int error; + const char *errmsg, *addinfo; + int ccl_error_code, ccl_error_pos; + const char *ccl_error_string; + + if (argc != 3) + { + fprintf (stderr, "usage:\n%s target cclquery\n", *argv); + fprintf (stderr, " eg. bagel.indexdata.dk/gils 'ti=computer'\n"); + exit (1); + } + + if (ZOOM_query_ccl2rpn(q, argv[2], + "term t=l,r s=al\n" "ti u=4 s=pw\n", + &ccl_error_code, &ccl_error_string, &ccl_error_pos)) + { + printf("CCL Error %d: %s\n", ccl_error_code, ccl_error_string); + if (ccl_error_pos >= 0) + printf("%s\n%*s^\n", argv[2], ccl_error_pos, ""); + ZOOM_query_destroy(q); + } + else + { + z = ZOOM_connection_new (argv[1], 0); + + if ((error = ZOOM_connection_error(z, &errmsg, &addinfo))) + { + fprintf (stderr, "Error: %s (%d) %s\n", errmsg, error, addinfo); + exit (2); + } + + r = ZOOM_connection_search (z, q); + ZOOM_query_destroy(q); + if ((error = ZOOM_connection_error(z, &errmsg, &addinfo))) + fprintf (stderr, "Error: %s (%d) %s\n", errmsg, error, addinfo); + else + printf ("Result count: %ld\n", (long) ZOOM_resultset_size(r)); + ZOOM_resultset_destroy (r); + ZOOM_connection_destroy (z); + } + exit (0); +} +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +