Added Yaz_cql2rpn::parse_spec_file
[yazpp-moved-to-github.git] / src / yaz-cql2rpn.cpp
index e145791..8a9ce18 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright (c) 1998-2004, Index Data.
  * See the file LICENSE for details.
  * 
- * $Id: yaz-cql2rpn.cpp,v 1.9 2006-03-29 13:14:15 adam Exp $
+ * $Id: yaz-cql2rpn.cpp,v 1.11 2007-01-12 10:09:25 adam Exp $
  */
 
 #include <yaz/log.h>
@@ -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)