X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=zoom%2Fzoomtst5.c;fp=zoom%2Fzoomtst5.c;h=495a101ace2b4a30e824e842d23e8fe323ad46cd;hp=24bcac7adc545eefa6a2399382e6d97d0c93ed9d;hb=57cae124c6a1c7cdd8c70090db636b227887fc19;hpb=9b2f4955aee1fcee3702bcd832dbaf7fca7243ad diff --git a/zoom/zoomtst5.c b/zoom/zoomtst5.c index 24bcac7..495a101 100644 --- a/zoom/zoomtst5.c +++ b/zoom/zoomtst5.c @@ -10,9 +10,9 @@ #include #include -const char *my_callback (void *handle, const char *name) +const char *my_callback(void *handle, const char *name) { - if (!strcmp (name, "async")) + if (!strcmp(name, "async")) return "1"; return 0; } @@ -20,106 +20,115 @@ const char *my_callback (void *handle, const char *name) int main(int argc, char **argv) { int i; - int no = argc-3; + int no = argc - 4; ZOOM_connection z[500]; /* allow at most 500 connections */ ZOOM_resultset r[500]; /* and result sets .. */ ZOOM_query q; ZOOM_options o; - o = ZOOM_options_create (); - if (argc < 4) + o = ZOOM_options_create(); + if (argc < 5) { - fprintf (stderr, "usage:\n%s target1 .. targetN query sort\n", - *argv); - exit (2); + fprintf(stderr, "usage:\n%s target1 .. targetN query strategy sort\n", + *argv); + exit(2); } if (no > 500) no = 500; /* function my_callback called when reading options .. */ - ZOOM_options_set_callback (o, my_callback, 0); + ZOOM_options_set_callback(o, my_callback, 0); /* get 20 (at most) records from beginning */ - ZOOM_options_set (o, "count", "20"); + ZOOM_options_set(o, "count", "20"); - ZOOM_options_set (o, "implementationName", "sortapp"); - ZOOM_options_set (o, "preferredRecordSyntax", "usmarc"); - ZOOM_options_set (o, "elementSetName", "B"); + ZOOM_options_set(o, "implementationName", "sortapp"); + ZOOM_options_set(o, "preferredRecordSyntax", "usmarc"); + ZOOM_options_set(o, "elementSetName", "B"); /* create query */ - q = ZOOM_query_create (); - if (ZOOM_query_prefix (q, argv[argc-2])) + q = ZOOM_query_create(); + if (strncmp("cql:", argv[argc-3], 4) == 0) { - printf ("bad PQF: %s\n", argv[argc-2]); - exit (1); + if (ZOOM_query_cql(q, argv[argc-3] + 4)) + { + printf("bad CQL: %s\n", argv[argc-3] + 4); + exit(1); + } + } + else if (ZOOM_query_prefix(q, argv[argc-3])) + { + printf("bad PQF: %s\n", argv[argc-3]); + exit(1); } - if (ZOOM_query_sortby (q, argv[argc-1])) + if (ZOOM_query_sortby2(q, argv[argc-2], argv[argc-1])) { - printf ("bad sort spec: %s\n", argv[argc-1]); - exit (1); + printf("bad sort spec: %s\n", argv[argc-1]); + exit(1); } /* connect - and search all */ - for (i = 0; i