X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=recctrl%2Frecgrs.c;h=5cf015b1a7a6450a1421413e90cd900ac804cf52;hb=852c2d471176b3f597b6b2a328a3c6eba0965ad3;hp=2ea2a536dc74f542a87ce17cb7401e080986aee3;hpb=27562aeaaf73ee45d337d88cbc5a5c38ee3f4eed;p=idzebra-moved-to-github.git diff --git a/recctrl/recgrs.c b/recctrl/recgrs.c index 2ea2a53..5cf015b 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.105 2005-08-22 08:19:51 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