X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fextract.c;h=593c9e8deda4c7ffe7e68bc7351801c1f5900d37;hb=d9b85731ab7b965b1ae9bc1c283e39faf10a644a;hp=c2a664b6c3686e8f699b3c7e03ada38c3721f9fd;hpb=e5e87e3b665f390409902a8efd716cdec1b6a2a6;p=idzebra-moved-to-github.git diff --git a/index/extract.c b/index/extract.c index c2a664b..593c9e8 100644 --- a/index/extract.c +++ b/index/extract.c @@ -1,4 +1,4 @@ -/* $Id: extract.c,v 1.155 2004-06-03 11:45:28 adam Exp $ +/* $Id: extract.c,v 1.157 2004-07-28 09:47:41 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 Index Data Aps @@ -1032,7 +1032,7 @@ int buffer_extract_record (ZebraHandle zh, extract_flushSortKeys (zh, *sysno, -1, &zh->reg->sortKeys); rec_rm (&rec); logRecord(zh); - return 0; + return -1; } } @@ -1655,6 +1655,7 @@ static void extract_add_complete_field (RecWord *p) while (map && *map && **map == *CHR_SPACE) { remain = p->length - (b - p->string); + if (remain > 0) map = zebra_maps_input(p->zebra_maps, p->reg_type, &b, remain); else @@ -1669,10 +1670,17 @@ static void extract_add_complete_field (RecWord *p) { const char *cp = *map; - if (i >= IT_MAX_WORD) - break; - while (i < IT_MAX_WORD && *cp) - buf[i++] = *(cp++); + if (**map == *CHR_CUT) + { + i = 0; + } + else + { + if (i >= IT_MAX_WORD) + break; + while (i < IT_MAX_WORD && *cp) + buf[i++] = *(cp++); + } remain = p->length - (b - p->string); if (remain > 0) map = zebra_maps_input (p->zebra_maps, p->reg_type, &b,