Source restructure. yaz-marcdump part of installation
[yaz-moved-to-github.git] / src / yaz-ccl.c
diff --git a/src/yaz-ccl.c b/src/yaz-ccl.c
new file mode 100644 (file)
index 0000000..41ab879
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 1996-2003, Index Data.
+ * See the file LICENSE for details.
+ *
+ * $Id: yaz-ccl.c,v 1.1 2003-10-27 12:21:36 adam Exp $
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+
+#include <yaz/yaz-ccl.h>
+#include <yaz/pquery.h>
+
+Z_RPNQuery *ccl_rpn_query (ODR o, struct ccl_rpn_node *p)
+{
+    YAZ_PQF_Parser parser = yaz_pqf_create();
+    WRBUF wr = wrbuf_alloc();
+    Z_RPNQuery *q;
+
+    ccl_pquery(wr, p);
+
+    q = yaz_pqf_parse(parser, o, wrbuf_buf(wr));
+
+    wrbuf_free(wr, 1);
+    yaz_pqf_destroy(parser);
+    return q;
+}
+
+Z_AttributesPlusTerm *ccl_scan_query (ODR o, struct ccl_rpn_node *p)
+{
+    YAZ_PQF_Parser parser = yaz_pqf_create();
+    WRBUF wr = wrbuf_alloc();
+    Z_AttributesPlusTerm *q;
+    Odr_oid *setp;
+
+    ccl_pquery(wr, p);
+
+    q = yaz_pqf_scan(parser, o, &setp, wrbuf_buf(wr));
+
+    wrbuf_free(wr, 1);
+    yaz_pqf_destroy(parser);
+    return q;
+}
+