From 331f05f608e3d45c11adce71f767e38e173e8f40 Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Tue, 14 Dec 2004 11:23:15 +0000 Subject: [PATCH] Added utility check_filter which checks for filter and exit(0) if it does not exist - but warns in log. --- test/api/testlib.c | 31 ++++++++++++++++++++++++++++++- test/api/testlib.h | 7 ++++++- 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/test/api/testlib.c b/test/api/testlib.c index 8538b3b..3029a7c 100644 --- a/test/api/testlib.c +++ b/test/api/testlib.c @@ -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); + } +} + + + + diff --git a/test/api/testlib.h b/test/api/testlib.h index cd1c063..ce8360d 100644 --- a/test/api/testlib.h +++ b/test/api/testlib.h @@ -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); -- 1.7.10.4