Multiple registers (alpha early)
[idzebra-moved-to-github.git] / index / invstat.c
index 5a23007..ba98053 100644 (file)
 #include <string.h>
 
 #include "index.h"
-#include "recindex.h"
 #if ZMBOL
 #include "../isamc/isamd-p.h"
 #endif
-#include "zserver.h"
 
 struct inv_stat_info {
     ISAMS isams;
@@ -131,7 +129,8 @@ static int inv_stat_handle (char *name, const char *info, int pos,
 
 void inv_prstat (ZebraHandle zh)
 {
-    BFiles bfs = zh->service->bfs;
+    Res res = zh->res;
+    BFiles bfs;
     Dict dict;
     ISAMS isams = NULL;
 #if ZMBOL
@@ -148,6 +147,11 @@ void inv_prstat (ZebraHandle zh)
     int after = 1000000000;
     struct inv_stat_info stat_info;
     char term_dict[2*IT_MAX_WORD+2];
+
+    if (!res || !zh->reg)
+        return;
+
+    bfs = zh->reg->bfs;
         
     term_dict[0] = 1;
     term_dict[1] = 0;
@@ -158,11 +162,11 @@ void inv_prstat (ZebraHandle zh)
         logf (LOG_FATAL, "dict_open fail");
         exit (1);
     }
-    if (res_get_match (zh->service->res, "isam", "s", ISAM_DEFAULT))
+    if (res_get_match (res, "isam", "s", ISAM_DEFAULT))
     {
        struct ISAMS_M_s isams_m;
         isams = isams_open (bfs, FNAME_ISAMS, 0,
-                           key_isams_m(zh->service->res, &isams_m));
+                           key_isams_m(res, &isams_m));
         if (!isams)
         {
             logf (LOG_FATAL, "isams_open fail");
@@ -170,32 +174,32 @@ void inv_prstat (ZebraHandle zh)
         }
     }
 #if ZMBOL
-    else if (res_get_match (zh->service->res, "isam", "i", ISAM_DEFAULT))
+    else if (res_get_match (res, "isam", "i", ISAM_DEFAULT))
     {
         isam = is_open (bfs, FNAME_ISAM, key_compare, 0,
-                       sizeof(struct it_key), zh->service->res);
+                       sizeof(struct it_key), res);
         if (!isam)
         {
             logf (LOG_FATAL, "is_open fail");
             exit (1);
         }
     }
-    else if (res_get_match (zh->service->res, "isam", "d", ISAM_DEFAULT))
+    else if (res_get_match (res, "isam", "d", ISAM_DEFAULT))
     {
        struct ISAMD_M_s isamd_m;
         isamd = isamd_open (bfs, FNAME_ISAMD, 0, 
-                            key_isamd_m(zh->service->res,&isamd_m));
+                            key_isamd_m(res,&isamd_m));
         if (!isamd)
         {
             logf (LOG_FATAL, "isamd_open fail");
             exit (1);
         }
     }
-    else if (res_get_match (zh->service->res, "isam", "c", ISAM_DEFAULT))
+    else if (res_get_match (res, "isam", "c", ISAM_DEFAULT))
     {
        struct ISAMC_M_s isamc_m;
         isamc = isc_open (bfs, FNAME_ISAMC, 0,
-                         key_isamc_m (zh->service->res, &isamc_m));
+                         key_isamc_m (res, &isamc_m));
         if (!isamc)
         {
             logf (LOG_FATAL, "isc_open fail");
@@ -325,7 +329,10 @@ void inv_prstat (ZebraHandle zh)
 /*
  *
  * $Log: invstat.c,v $
- * Revision 1.22  2002-02-20 17:30:01  adam
+ * Revision 1.23  2002-04-04 14:14:13  adam
+ * Multiple registers (alpha early)
+ *
+ * Revision 1.22  2002/02/20 17:30:01  adam
  * Work on new API. Locking system re-implemented
  *
  * Revision 1.21  2000/07/13 10:14:20  heikki