X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=recctrl%2Frecgrs.c;h=274c13077d7bfebbd6b45b29e0ee7e428b66676d;hb=53e96e83f38181c44adaf9aacba292b0c6c3b4b3;hp=2ea2a536dc74f542a87ce17cb7401e080986aee3;hpb=83ffc352fb52d3cd5aadbcd11f52b58456131394;p=idzebra-moved-to-github.git diff --git a/recctrl/recgrs.c b/recctrl/recgrs.c index 2ea2a53..274c130 100644 --- a/recctrl/recgrs.c +++ b/recctrl/recgrs.c @@ -1,4 +1,4 @@ -/* $Id: recgrs.c,v 1.104 2005-08-03 07:44:27 adam Exp $ +/* $Id: recgrs.c,v 1.106 2006-02-06 13:34:13 adam Exp $ Copyright (C) 1995-2005 Index Data ApS @@ -220,16 +220,20 @@ static int sp_expr(struct source_parser *sp, data1_node *n, RecWord *wrd) } else if (sp->len > 0 && isdigit(*(unsigned char *)sp->tok)) { - wrd->term_buf = nmem_malloc(sp->nmem, sp->len); - memcpy(wrd->term_buf, sp->tok, sp->len); + char *b; wrd->term_len = sp->len; + b = nmem_malloc(sp->nmem, sp->len); + memcpy(b, sp->tok, sp->len); + wrd->term_buf = b; sp_lex(sp); } else if (sp->len > 2 && sp->tok[0] == '\'' && sp->tok[sp->len-1] == '\'') { + char *b; wrd->term_len = sp->len - 2; - wrd->term_buf = nmem_malloc(sp->nmem, wrd->term_len); - memcpy(wrd->term_buf, sp->tok+1, wrd->term_len); + b = nmem_malloc(sp->nmem, wrd->term_len); + memcpy(b, sp->tok+1, wrd->term_len); + wrd->term_buf = b; sp_lex(sp); } else @@ -809,8 +813,9 @@ static void index_xpath(struct source_parser *sp, data1_node *n, p, wrd); xpdone = 1; } else { - /* add attribute based index for the attribute */ - if (xp->value) + /* if this fragment is enabled, we index + attribute values as well. See bug #460 */ + if (0 && xp->value) { #if NATTR wrd->index_name = tl->index_name;