X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fzinfo.c;h=8971d89ec2cb58fbf2deb539534df83ad66a19bf;hb=0a667d16ee52f85592f6cb73ce9a3915409f1c7b;hp=9d5bb3da6676e08ae693a7e1a218f56f37a375a4;hpb=0f78f3fe78e859d9f0d3f0d3e13fcd28085dd427;p=idzebra-moved-to-github.git diff --git a/index/zinfo.c b/index/zinfo.c index 9d5bb3d..8971d89 100644 --- a/index/zinfo.c +++ b/index/zinfo.c @@ -1,4 +1,4 @@ -/* $Id: zinfo.c,v 1.71 2006-11-14 08:12:08 adam Exp $ +/* $Id: zinfo.c,v 1.74 2006-11-27 10:09:48 adam Exp $ Copyright (C) 1995-2006 Index Data ApS @@ -53,7 +53,7 @@ struct zebSUInfoB { typedef struct zebAccessObjectB *zebAccessObject; struct zebAccessObjectB { void *handle; - SYSNO sysno; + zint sysno; Odr_oid *oid; zebAccessObject next; }; @@ -66,7 +66,7 @@ struct zebAccessInfoB { typedef struct { struct zebSUInfoB *SUInfo; - SYSNO sysno; + zint sysno; int dirty; int readFlag; data1_node *data1_tree; @@ -79,7 +79,7 @@ struct zebDatabaseInfoB { data1_node *data1_database; zint recordCount; /* records in db */ zint recordBytes; /* size of records */ - SYSNO sysno; /* sysno of database info */ + zint sysno; /* sysno of database info */ int readFlag; /* 1: read is needed when referenced; 0 if not */ int dirty; /* 1: database is dirty: write is needed */ struct zebDatabaseInfoB *next; @@ -94,7 +94,7 @@ struct zebraExplainAttset { struct zebraCategoryListInfo { int dirty; - SYSNO sysno; + zint sysno; data1_node *data1_categoryList; }; @@ -143,7 +143,7 @@ static void zebraExplain_writeCategoryList(ZebraExplainInfo zei, int key_flush); -static Record createRecord(Records records, SYSNO *sysno) +static Record createRecord(Records records, zint *sysno) { Record rec; if (*sysno) @@ -963,6 +963,8 @@ int zebraExplain_newDatabase (ZebraExplainInfo zei, const char *database, zebraExplain_initCommonInfo (zei, node_adinfo); + data1_mk_tag_data_text(zei->dh, node_adinfo, "name", database, zei->nmem); + return 0; } @@ -976,7 +978,7 @@ static void zebraExplain_writeCategoryList (ZebraExplainInfo zei, int i; Record drec; data1_node *node_ci, *node_categoryList; - SYSNO sysno = 0; + zint sysno = 0; static char *category[] = { "CategoryList", "TargetInfo", @@ -1048,6 +1050,7 @@ static void zebraExplain_writeAttributeDetails (ZebraExplainInfo zei, zad->dirty = 0; #if ZINFO_DEBUG yaz_log(YLOG_LOG, "zebraExplain_writeAttributeDetails"); + data1_pr_tree(zei->dh, zad->data1_tree, stderr); #endif drec = createRecord (zei->records, &zad->sysno); @@ -1059,9 +1062,6 @@ static void zebraExplain_writeAttributeDetails (ZebraExplainInfo zei, "/attributeDetails"); zebraExplain_updateCommonInfo (zei, node_adinfo); - data1_mk_tag_data_text (zei->dh, node_adinfo, "name", - databaseName, zei->nmem); - /* extract *searchable* keys from it. We do this here, because record count, etc. is affected */ if (key_flush) @@ -1611,6 +1611,8 @@ RecordAttr *rec_init_attr (ZebraExplainInfo zei, Record rec) if (rec->info[recInfo_attr]) return (RecordAttr *) rec->info[recInfo_attr]; recordAttr = (RecordAttr *) xmalloc (sizeof(*recordAttr)); + + memset(recordAttr, '\0', sizeof(*recordAttr)); rec->info[recInfo_attr] = (char *) recordAttr; rec->size[recInfo_attr] = sizeof(*recordAttr);