X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Frpn2cql.c;h=a02c73c0dfe7a6b033eb17308155c7c9eca96d4a;hp=ef5494460a99f42914f50eabc4551e75b14887a3;hb=ef37da81cb79e50520faa5a2274423359353075a;hpb=2db517d64ac08da1f812f33812cf58f6aeb905e3 diff --git a/src/rpn2cql.c b/src/rpn2cql.c index ef54944..a02c73c 100644 --- a/src/rpn2cql.c +++ b/src/rpn2cql.c @@ -1,13 +1,14 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2010 Index Data + * Copyright (C) 1995-2011 Index Data * See the file LICENSE for details. */ - /** * \file * \brief Implements RPN to CQL conversion - * */ +#if HAVE_CONFIG_H +#include +#endif #include #include @@ -168,10 +169,10 @@ static int checkForTruncation(int flag, Z_AttributeList *attributes) { if (ae->which == Z_AttributeValue_numeric) { - int truncation = *(ae->value.numeric); + Odr_int truncation = *(ae->value.numeric); /* This logic only works for Left, right and both. eg. 1,2,3 */ if (truncation <= 3) - return (int) (truncation & flag); + return ((int) truncation & flag); } /* Complex: Shouldn't happen */ } @@ -181,11 +182,11 @@ static int checkForTruncation(int flag, Z_AttributeList *attributes) }; static int checkForLeftTruncation(Z_AttributeList *attributes) { - return checkForTruncation(1, attributes); + return checkForTruncation(2, attributes); } static int checkForRightTruncation(Z_AttributeList *attributes) { - return checkForTruncation(2, attributes); + return checkForTruncation(1, attributes); }; static int rpn2cql_simple(cql_transform_t ct, @@ -237,11 +238,11 @@ static int rpn2cql_simple(cql_transform_t ct, if (must_quote) wrbuf_puts(w, "\""); /* Bug 2878: Check and add Truncation */ - if (checkForLeftTruncation(apt->attributes)) + if (checkForLeftTruncation(apt->attributes)) wrbuf_puts(w, "*"); wrbuf_write(w, sterm, lterm); /* Bug 2878: Check and add Truncation */ - if (checkForRightTruncation(apt->attributes)) + if (checkForRightTruncation(apt->attributes)) wrbuf_puts(w, "*"); if (must_quote) wrbuf_puts(w, "\"");