X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=util%2Fcql2pqf.c;h=40aa034d68db58f33ecfd61765b045960870ce35;hp=ac2a4577091f2a928c082114873d469ffe6172e3;hb=43a9d38d20c1b1bcd1a03b2445a501d27526bd35;hpb=ee6ab2ee3a9ee1a8c65d7272ec7fba1d886f5af0 diff --git a/util/cql2pqf.c b/util/cql2pqf.c index ac2a457..40aa034 100644 --- a/util/cql2pqf.c +++ b/util/cql2pqf.c @@ -1,33 +1,36 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2008 Index Data + * Copyright (C) 1995-2011 Index Data * See the file LICENSE for details. */ +#if HAVE_CONFIG_H +#include +#endif #include #include -#include +#include +#include #include static void usage(void) { - fprintf (stderr, "usage\n cql2pqf [-n ] []\n"); - exit (1); + fprintf(stderr, "usage\n cql2pqf [-n ] [-r] []\n"); + exit(1); } int main(int argc, char **argv) { cql_transform_t ct; - int r = 0; int i, iterations = 1; - CQL_parser cp = cql_parser_create(); char *query = 0; char *fname = 0; + int reverse = 0; int ret; char *arg; - while ((ret = options("n:", argv, argc, &arg)) != -2) + while ((ret = options("n:r", argv, argc, &arg)) != -2) { switch (ret) { @@ -37,6 +40,9 @@ int main(int argc, char **argv) else query = arg; break; + case 'r': + reverse = 1; + break; case 'n': iterations = atoi(arg); break; @@ -46,48 +52,89 @@ int main(int argc, char **argv) } if (!fname) usage(); - ct = cql_transform_open_fname(fname); + if (!strcmp(fname, "-")) + ct = cql_transform_create(); + else + ct = cql_transform_open_fname(fname); if (!ct) { - fprintf (stderr, "failed to read properties %s\n", fname); - exit (1); + fprintf(stderr, "failed to read properties %s\n", fname); + exit(1); } - if (query) + if (reverse) { - for (i = 0; i