X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=recctrl%2Frectext.c;h=f102e7cde287c35a11161f4a750345824bdc81b6;hb=68f2ac443fce741dad6036c30c31f8c150f5271f;hp=6d36db32c40e7b05e9137c59f18beb8d6bd5426a;hpb=4415da5dbbba04e50d4524347486d60113ed569c;p=idzebra-moved-to-github.git diff --git a/recctrl/rectext.c b/recctrl/rectext.c index 6d36db3..f102e7c 100644 --- a/recctrl/rectext.c +++ b/recctrl/rectext.c @@ -1,10 +1,22 @@ /* - * Copyright (C) 1994-1998, Index Data + * Copyright (C) 1994-2001, Index Data * All rights reserved. * Sebastian Hammer, Adam Dickmeiss * * $Log: rectext.c,v $ - * Revision 1.10 1999-05-20 12:57:18 adam + * Revision 1.14 2001-01-22 11:41:41 adam + * Added support for raw retrieval (element set name "R"). + * + * Revision 1.13 1999/09/07 07:19:21 adam + * Work on character mapping. Implemented replace rules. + * + * Revision 1.12 1999/05/26 07:49:14 adam + * C++ compilation. + * + * Revision 1.11 1999/05/21 12:00:17 adam + * Better diagnostics for extraction process. + * + * Revision 1.10 1999/05/20 12:57:18 adam * Implemented TCL filter. Updated recctrl system. * * Revision 1.9 1998/10/16 08:14:38 adam @@ -88,10 +100,10 @@ struct buf_info { struct buf_info *buf_open (struct recExtractCtrl *p) { - struct buf_info *fi = xmalloc (sizeof(*fi)); + struct buf_info *fi = (struct buf_info *) xmalloc (sizeof(*fi)); fi->p = p; - fi->buf = xmalloc (4096); + fi->buf = (char *) xmalloc (4096); fi->offset = 1; fi->max = 1; return fi; @@ -141,11 +153,11 @@ static int text_extract (void *clientData, struct recExtractCtrl *p) { recWord.string = w; recWord.length = i; - (*p->addWord)(&recWord); + (*p->tokenAdd)(&recWord); } } while (r > 0); buf_close (fi); - return 0; + return RECCTRL_EXTRACT_OK; } static int text_retrieve (void *clientData, struct recRetrieveCtrl *p) @@ -161,6 +173,9 @@ static int text_retrieve (void *clientData, struct recRetrieveCtrl *p) p->comp->u.simple->which == Z_ElementSetNames_generic) elementSetName = p->comp->u.simple->u.generic; + /* don't make header for the R(aw) element set name */ + if (elementSetName && !strcmp(elementSetName, "R")) + start_flag = 0; while (1) { if (text_ptr + 4096 >= text_size) @@ -168,7 +183,7 @@ static int text_retrieve (void *clientData, struct recRetrieveCtrl *p) char *nb; text_size = 2*text_size + 8192; - nb = xmalloc (text_size); + nb = (char *) xmalloc (text_size); if (text_buf) { memcpy (nb, text_buf, text_ptr);