Added utility check_filter which checks for filter and exit(0)
authorAdam Dickmeiss <adam@indexdata.dk>
Tue, 14 Dec 2004 11:23:15 +0000 (11:23 +0000)
committerAdam Dickmeiss <adam@indexdata.dk>
Tue, 14 Dec 2004 11:23:15 +0000 (11:23 +0000)
if it does not exist - but warns in log.

test/api/testlib.c
test/api/testlib.h

index 8538b3b..3029a7c 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: testlib.c,v 1.8 2004-12-13 20:51:33 adam Exp $
+/* $Id: testlib.c,v 1.9 2004-12-14 11:23:15 adam Exp $
    Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004
    Index Data Aps
 
@@ -259,3 +259,32 @@ void meta_query(int lineno, ZebraHandle zh, char *query, int exphits,
     free(positions);
 }
 
+struct finfo {
+    const char *name;
+    int occurred;
+};
+
+static void filter_cb(void *cd, const char *name)
+{
+    struct finfo *f = (struct finfo*) cd;
+    if (!strcmp(f->name, name))
+       f->occurred = 1;
+}
+
+void check_filter(ZebraService zs, const char *name)
+{
+    struct finfo f;
+
+    f.name = name;
+    f.occurred = 0;
+    zebra_filter_info(zs, &f, filter_cb);
+    if (!f.occurred)
+    {
+       yaz_log(YLOG_WARN, "Filter %s does not exist.", name);
+       exit(0);
+    }
+}
+
+
+
+
index cd1c063..ce8360d 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: testlib.h,v 1.8 2004-12-14 10:37:25 heikki Exp $
+/* $Id: testlib.h,v 1.9 2004-12-14 11:23:15 adam Exp $
    Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004
    Index Data Aps
 
@@ -96,3 +96,8 @@ void ranking_query(int lineno, ZebraHandle zh, char *query,
  */
 void meta_query(int lineno, ZebraHandle zh, char *query, int exphits,
                zint *ids);
+
+/**
+ * if filter given by name does not exist, exit nicely but warn in log 
+ */
+void check_filter(ZebraService zs, const char *name);