X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=util%2Fcql2xcql.c;h=bad3f3e7d704b930fea794419842b0641fa47f0b;hp=bd78e3b06f849dcf51b878a5e83d402456c5a360;hb=5ae2f74ba9b27bb7e926d5908471ac79371f7823;hpb=77c5a4fca8b516fd39b8ba213daed17a465a6b2a diff --git a/util/cql2xcql.c b/util/cql2xcql.c index bd78e3b..bad3f3e 100644 --- a/util/cql2xcql.c +++ b/util/cql2xcql.c @@ -1,5 +1,5 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2012 Index Data + * Copyright (C) 1995-2013 Index Data * See the file LICENSE for details. */ #if HAVE_CONFIG_H @@ -15,7 +15,7 @@ static void usage(const char *prog) { - fprintf(stderr, "%s: [-c] [-n iterations] [-s] [infile]\n", prog); + fprintf(stderr, "%s: [-c] [-n iterations] [-s] [-S] [infile]\n", prog); exit(1); } @@ -30,8 +30,9 @@ int main(int argc, char **argv) char *arg; char *prog = argv[0]; int do_sortkeys = 0; + int do_strict = 0; - while ((ret = options("cn:s", argv, argc, &arg)) != YAZ_OPTIONS_EOF) + while ((ret = options("cn:sS", argv, argc, &arg)) != YAZ_OPTIONS_EOF) { switch (ret) { @@ -47,12 +48,16 @@ int main(int argc, char **argv) case 's': do_sortkeys = 1; break; + case 'S': + do_strict = 1; + break; default: - usage(prog); + usage(prog); } } cp = cql_parser_create(); + cql_parser_strict(cp, do_strict); if (fname) { int i; @@ -75,7 +80,7 @@ int main(int argc, char **argv) if (do_sortkeys) { WRBUF w = wrbuf_alloc(); - r = cql_sortby_to_sortkeys(cql_parser_result(cp), + r = cql_sortby_to_sortkeys(cql_parser_result(cp), wrbuf_vp_puts, w); if (r == 0) printf("sortkeys: %s\n", wrbuf_cstr(w));