SRW, CQL, 2003
[yaz-moved-to-github.git] / cql / cql2pqf.c
1 /* $Id: cql2pqf.c,v 1.1 2003-01-06 08:20:27 adam Exp $
2    Copyright (C) 2002-2003
3    Index Data Aps
4
5 This file is part of the YAZ toolkit.
6
7 See the file LICENSE.
8 */
9
10 #include <stdlib.h>
11 #include <stdio.h>
12
13 #include <yaz/cql.h>
14
15 int main(int argc, char **argv)
16 {
17     cql_transform_t ct;
18     int r;
19     CQL_parser cp = cql_parser_create();
20
21     if (argc < 2)
22     {
23         fprintf (stderr, "usage\n cqltransform <properties> [<query>]\n");
24         exit (1);
25     }
26     ct = cql_transform_open_fname(argv[1]);
27     if (!ct)
28     {
29         fprintf (stderr, "failed to read properties %s\n", argv[1]);
30         exit (1);
31     }
32     if (argc == 3)
33         r = cql_parser_string(cp, argv[2]);
34     else
35         r = cql_parser_stdio(cp, stdin);
36     if (r)
37         fprintf (stderr, "Syntax error\n");
38     else
39     {
40         r = cql_transform_FILE(ct, cql_parser_result(cp), stdout);
41         printf("\n");
42         if (r)
43         {
44             const char *addinfo;
45             cql_transform_error(ct, &addinfo);
46             printf ("Transform error %d %s\n", r, addinfo ? addinfo : "");
47         }
48     }
49     cql_transform_close(ct);
50     cql_parser_destroy(cp);
51     return 0;
52 }