X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Frecgrs.c;h=c09f731f8f53b7b2d21b7a18f1f636191be12db1;hb=c33ea56e3771c3b80ba66ef8fda3a09cad171ebb;hp=cd11edaeb4ad3c6ec2a2e769fe865d830e762a27;hpb=d1e1a6a2a574e8019e700abb9d8a9d03ba41aab5;p=idzebra-moved-to-github.git diff --git a/index/recgrs.c b/index/recgrs.c index cd11eda..c09f731 100644 --- a/index/recgrs.c +++ b/index/recgrs.c @@ -1,4 +1,4 @@ -/* $Id: recgrs.c,v 1.2 2006-07-06 11:40:25 adam Exp $ +/* $Id: recgrs.c,v 1.5 2006-08-22 13:39:27 adam Exp $ Copyright (C) 1995-2006 Index Data ApS @@ -15,9 +15,9 @@ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with Zebra; see the file LICENSE.zebra. If not, write to the -Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA -02111-1307, USA. +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ #include @@ -937,6 +937,8 @@ int grs_extract_tree(struct recExtractCtrl *p, data1_node *n) } (*p->init)(p, &wrd); + /* data1_pr_tree(p->dh, n, stdout); */ + return dumpkeys(n, p, &wrd); } @@ -950,12 +952,7 @@ static int grs_extract_sub(void *clientData, struct recExtractCtrl *p, int oidtmp[OID_SIZE]; RecWord wrd; - gri.readf = p->readf; - gri.seekf = p->seekf; - gri.tellf = p->tellf; - gri.endf = p->endf; - gri.fh = p->fh; - gri.offset = p->offset; + gri.stream = p->stream; gri.mem = mem; gri.dh = p->dh; gri.clientData = clientData; @@ -980,6 +977,9 @@ static int grs_extract_sub(void *clientData, struct recExtractCtrl *p, /* ensure our data1 tree is UTF-8 */ data1_iconv (p->dh, mem, n, "UTF-8", data1_get_encoding(p->dh, n)); + + data1_remove_idzebra_subtree (p->dh, n); + #if 0 data1_pr_tree (p->dh, n, stdout); #endif @@ -1144,12 +1144,7 @@ int zebra_grs_retrieve(void *clientData, struct recRetrieveCtrl *p, int dummy; mem = nmem_create(); - gri.readf = p->readf; - gri.seekf = p->seekf; - gri.tellf = p->tellf; - gri.endf = NULL; - gri.fh = p->fh; - gri.offset = 0; + gri.stream = p->stream; gri.mem = mem; gri.dh = p->dh; gri.clientData = clientData; @@ -1164,6 +1159,8 @@ int zebra_grs_retrieve(void *clientData, struct recRetrieveCtrl *p, } data1_concat_text(p->dh, mem, node); + data1_remove_idzebra_subtree (p->dh, node); + #if 0 data1_pr_tree (p->dh, node, stdout); #endif