Introduce spec for zebra_register_check
[idzebra-moved-to-github.git] / index / zebraidx.c
index 3291a79..48cd1fe 100644 (file)
@@ -177,16 +177,21 @@ int main(int argc, char **argv)
                 {
                     show_filters(zs);
                 }
-               else if (!strcmp(arg, "check0"))
+               else if (!strncmp(arg, "check", 5))
                {
-                    if (zebra_register_check(zh, 0) != ZEBRA_OK)
-                        yaz_log(YLOG_WARN, "register check failed");
-               }
-               else if (!strcmp(arg, "check1") || !strcmp(arg, "check"))
-               {
-                    if (zebra_register_check(zh, 1) != ZEBRA_OK)
-                        yaz_log(YLOG_WARN, "register check failed");
-               }
+                    const char *spec = 0;
+                    if (arg[5] == ':')
+                        spec = arg + 6;
+                    else if (arg[5] != '\0')
+                    {
+                        yaz_log(YLOG_FATAL, "missing colon after check");
+                        exit(1);
+                    }
+                    if (zebra_register_check(zh, spec) != ZEBRA_OK)
+                    {
+                        yaz_log(YLOG_WARN, "zebra_register_check failed");
+                    }
+               }
                 else
                 {
                     yaz_log(YLOG_FATAL, "unknown command: %s", arg);