X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fcclfind.c;h=82dd726bf828443f142b191b1dd39af535ac68b5;hb=a87770ed51d988ce5a0b2f5f886dd4211c4055d6;hp=7cad1abb72b3e4fd587dd4b17c01a6c0559582b3;hpb=c6e47cbbff56f39f6d81b079ebaeac41d793d4d9;p=yaz-moved-to-github.git diff --git a/src/cclfind.c b/src/cclfind.c index 7cad1ab..82dd726 100644 --- a/src/cclfind.c +++ b/src/cclfind.c @@ -44,7 +44,7 @@ /* CCL find (to rpn conversion) * Europagate, 1995 * - * $Id: cclfind.c,v 1.1 2003-10-27 12:21:30 adam Exp $ + * $Id: cclfind.c,v 1.3 2004-08-11 20:13:36 adam Exp $ * * Old Europagate log: * @@ -451,7 +451,7 @@ static struct ccl_rpn_node *search_term_x (CCL_parser cclp, else add_attr_numeric (p, attset, CCL_BIB1_STR, 1); } - + /* make the RPN token */ p->u.t.term = (char *)xmalloc (len); ccl_assert (p->u.t.term); @@ -466,7 +466,7 @@ static struct ccl_rpn_node *search_term_x (CCL_parser cclp, src_len--; src_str++; } - else if (i == no-1 && right_trunc) + if (i == no-1 && right_trunc) src_len--; if (src_len) { @@ -837,7 +837,7 @@ static struct ccl_rpn_node *search_terms (CCL_parser cclp, /* ! word order specified */ /* % word order not specified */ p_prox = mk_node(CCL_RPN_TERM); - p_prox->u.t.term = (char *) xmalloc(cclp->look_token->len); + p_prox->u.t.term = (char *) xmalloc(1 + cclp->look_token->len); memcpy(p_prox->u.t.term, cclp->look_token->name, cclp->look_token->len); p_prox->u.t.term[cclp->look_token->len] = 0;