Removed zebra_clearError. The scheme is meant to be .. Return
[idzebra-moved-to-github.git] / index / zinfo.c
index 60ae415..a5c05a9 100644 (file)
@@ -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;
            }
     }