X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Fcclfind.c;h=d5518dff640ee1f8ef94f83ee3e02918427e2a1a;hp=30abcbe21e64e22fbf4851e6e15a7ad42b94b9e1;hb=d22199db5fdac737990cebcd0f7c77232fcf5d0c;hpb=6cf204a1f25e251bc6de07f4254125b174a14c3a diff --git a/src/cclfind.c b/src/cclfind.c index 30abcbe..d5518df 100644 --- a/src/cclfind.c +++ b/src/cclfind.c @@ -278,8 +278,6 @@ static struct ccl_rpn_node *search_term_x(CCL_parser cclp, if (lookahead->name[i] == ' ') no_spaces++; len += 1+lookahead->len+lookahead->ws_prefix_len; - left_trunc = lookahead->left_trunc; - right_trunc = lookahead->right_trunc; lookahead = lookahead->next; } @@ -366,7 +364,18 @@ static struct ccl_rpn_node *search_term_x(CCL_parser cclp, { const char *src_str = cclp->look_token->name; size_t src_len = cclp->look_token->len; - + + if (i == 0 && src_len > 0 && *src_str == '?') + { + src_len--; + src_str++; + left_trunc = 1; + } + if (i == no - 1 && src_len > 0 && src_str[src_len-1] == '?') + { + src_len--; + right_trunc = 1; + } if (p->u.t.term[0] && cclp->look_token->ws_prefix_len) { size_t len = strlen(p->u.t.term);