X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;f=src%2Fyaz-cql2rpn.cpp;h=8a9ce1877a14017366eafab525daf6fe7bf3a07a;hb=cd0004748ff588edb379f4967cfb03b376a55827;hp=3906dff95d7449f0983b6ee129a83516a11c0fb5;hpb=7411ed6df7fc0b535f83503f73d70e80f390e295;p=yazpp-moved-to-github.git diff --git a/src/yaz-cql2rpn.cpp b/src/yaz-cql2rpn.cpp index 3906dff..8a9ce18 100644 --- a/src/yaz-cql2rpn.cpp +++ b/src/yaz-cql2rpn.cpp @@ -2,12 +2,12 @@ * Copyright (c) 1998-2004, Index Data. * See the file LICENSE for details. * - * $Id: yaz-cql2rpn.cpp,v 1.8 2005-06-25 15:53:19 adam Exp $ + * $Id: yaz-cql2rpn.cpp,v 1.11 2007-01-12 10:09:25 adam Exp $ */ #include #include -#include +#include using namespace yazpp_1; @@ -28,6 +28,15 @@ void Yaz_cql2rpn::set_pqf_file(const char *fname) m_transform = cql_transform_open_fname(fname); } + +bool Yaz_cql2rpn::parse_spec_file(const char *fname, int *error) +{ + *error = 0; + cql_transform_close(m_transform); + m_transform = cql_transform_open_fname(fname); + return m_transform ? true : false; +} + int Yaz_cql2rpn::query_transform(const char *cql_query, Z_RPNQuery **rpnquery, ODR o, char **addinfop) @@ -45,7 +54,7 @@ int Yaz_cql2rpn::query_transform(const char *cql_query, } else { - char rpn_buf[1024]; + char rpn_buf[10240]; r = cql_transform_buf(m_transform, cql_parser_result(cp), rpn_buf, sizeof(rpn_buf)-1); if (!r)