X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Fcclptree.c;h=3db33972f8299a0e3deab3b3473d969c158509bd;hp=d4997f89abbcc377dcd72ca34443ca46379b10bd;hb=0c46d2e66bdeea1600e700124a81a5d0a65d349e;hpb=379504a233e3e2cc85bca1e7b6d864f1395aec7c diff --git a/src/cclptree.c b/src/cclptree.c index d4997f8..3db3397 100644 --- a/src/cclptree.c +++ b/src/cclptree.c @@ -1,20 +1,23 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2009 Index Data + * Copyright (C) 1995-2013 Index Data * See the file LICENSE for details. */ -/** +/** * \file cclptree.c * \brief Implements CCL parse tree printing * * This source file implements functions to parse and print * a CCL node tree (as a result of parsing). */ +#if HAVE_CONFIG_H +#include +#endif #include #include -#include #include +#include #include static void ccl_pquery_indent(WRBUF w, struct ccl_rpn_node *p, int indent); @@ -40,17 +43,17 @@ static void ccl_pquery_complex(WRBUF w, struct ccl_rpn_node *p, int indent) const char *cp = p->u.p[2]->u.t.term; /* exlusion distance ordered relation which-code unit-code */ if (*cp == '!') - { + { /* word order specified */ - if (isdigit(((const unsigned char *) cp)[1])) + if (yaz_isdigit(cp[1])) wrbuf_printf(w, "@prox 0 %s 1 2 k 2", cp+1); else wrbuf_printf(w, "@prox 0 1 1 2 k 2"); - } + } else if (*cp == '%') { /* word order not specified */ - if (isdigit(((const unsigned char *) cp)[1])) + if (yaz_isdigit(cp[1])) wrbuf_printf(w, "@prox 0 %s 0 2 k 2", cp+1); else wrbuf_printf(w, "@prox 0 1 0 2 k 2"); @@ -139,7 +142,7 @@ void ccl_pr_tree(struct ccl_rpn_node *rpn, FILE *fd_out) WRBUF w = wrbuf_alloc(); ccl_pquery_indent(w, rpn, 0); - + fputs(wrbuf_cstr(w), fd_out); wrbuf_destroy(w); }