X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=recctrl%2Frectext.c;h=be7259019af4fb4314fa53c72f083b3b0317d46a;hb=6c9fcd3b5d3108702fa1ffc92dab4ab6060f9a19;hp=de72fdb5c11026e5869874cee0ba348f221456f2;hpb=e4943abc48c7750da0152b593a1e7aaf578f4b02;p=idzebra-moved-to-github.git diff --git a/recctrl/rectext.c b/recctrl/rectext.c index de72fdb..be72590 100644 --- a/recctrl/rectext.c +++ b/recctrl/rectext.c @@ -1,6 +1,6 @@ -/* $Id: rectext.c,v 1.18 2004-06-16 20:32:41 adam Exp $ - Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 - Index Data Aps +/* $Id: rectext.c,v 1.23 2005-01-15 19:38:32 adam Exp $ + Copyright (C) 1995-2005 + Index Data ApS This file is part of the Zebra server. @@ -26,19 +26,24 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include #include -#include "rectext.h" +#include struct text_info { char *sep; }; -static void *text_init (RecType recType) +static void *text_init (Res res, RecType recType) { struct text_info *tinfo = (struct text_info *) xmalloc(sizeof(*tinfo)); tinfo->sep = 0; return tinfo; } +static void text_config(void *clientData, Res res, const char *args) +{ + +} + static void text_destroy (void *clientData) { struct text_info *tinfo = clientData; @@ -100,15 +105,11 @@ static int text_extract (void *clientData, struct recExtractCtrl *p) struct buf_info *fi = buf_open (p); #if 0 - yaz_log(LOG_LOG, "text_extract off=%ld", + yaz_log(YLOG_LOG, "text_extract off=%ld", (long) (*fi->p->tellf)(fi->p->fh)); #endif xfree(tinfo->sep); tinfo->sep = 0; - if (p->subType) { - if (!strncmp(p->subType, "sep=", 4)) - tinfo->sep = xstrdup(p->subType+4); - } (*p->init)(p, &recWord); recWord.reg_type = 'w'; do @@ -183,7 +184,8 @@ static int text_retrieve (void *clientData, struct recRetrieveCtrl *p) sprintf (text_buf, "Rank: %d\n", p->score); text_ptr = strlen(text_buf); } - sprintf (text_buf + text_ptr, "Local Number: %d\n", p->localno); + sprintf (text_buf + text_ptr, "Local Number: " ZINT_FORMAT "\n", + p->localno); text_ptr = strlen(text_buf); if (p->fname) { @@ -229,9 +231,20 @@ static int text_retrieve (void *clientData, struct recRetrieveCtrl *p) static struct recType text_type = { "text", text_init, + text_config, text_destroy, text_extract, text_retrieve }; -RecType recTypeText = &text_type; +RecType +#ifdef IDZEBRA_STATIC_TEXT +idzebra_filter_text +#else +idzebra_filter +#endif + +[] = { + &text_type, + 0, +};