X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Fzinfo.c;h=a5c05a9e1c294b926e10a0b54a7bf6d927414450;hb=9637ba0802eb0fe437c1f0d277dd3c524981ba56;hp=60ae41525924113307a7914ac535aeff2214cae0;hpb=44082770642275dd993aa621d9dc5c5b0dc454d3;p=idzebra-moved-to-github.git diff --git a/index/zinfo.c b/index/zinfo.c index 60ae415..a5c05a9 100644 --- a/index/zinfo.c +++ b/index/zinfo.c @@ -1,4 +1,4 @@ -/* $Id: zinfo.c,v 1.49 2005-08-18 12:50:18 adam Exp $ +/* $Id: zinfo.c,v 1.52 2005-12-08 11:10:03 adam Exp $ Copyright (C) 1995-2005 Index Data ApS @@ -345,6 +345,7 @@ ZebraExplainInfo zebraExplain_open ( yaz_log (YLOG_LOG, "zebraExplain_open wr=%d", writeFlag); #endif zei = (ZebraExplainInfo) nmem_malloc (nmem, sizeof(*zei)); + zei->databaseInfo = 0; zei->write_flag = writeFlag; zei->updateHandle = updateHandle; zei->updateFunc = updateFunc; @@ -1416,19 +1417,28 @@ int zebraExplain_trav_ord(ZebraExplainInfo zei, void *handle, } int zebraExplain_lookup_ord (ZebraExplainInfo zei, int ord, - const char **db, int *set, int *use) + int *index_type, + const char **db, + int *set, int *use) { struct zebDatabaseInfoB *zdb; for (zdb = zei->databaseInfo; zdb; zdb = zdb->next) { struct zebSUInfoB *zsui = zdb->attributeDetails->SUInfo; for ( ;zsui; zsui = zsui->next) - if (zsui->info.which == ZEB_SU_SET_USE && - zsui->info.ordinal == ord) + if (zsui->info.ordinal == ord) { - *db = zdb->databaseName; - *set = zsui->info.u.su.set; - *use = zsui->info.u.su.use; + if (db) + *db = zdb->databaseName; + if (zsui->info.which == ZEB_SU_SET_USE) + { + if (set) + *set = zsui->info.u.su.set; + if (use) + *use = zsui->info.u.su.use; + } + if (index_type) + *index_type = zsui->info.index_type; return 0; } }