From b1c9d871614874092e397ae505799be82284713d Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Tue, 16 May 2000 22:37:53 +0000 Subject: Fixed the horrible mess Pavel has created with his last commit. --- filter/filter.c | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) (limited to 'filter/filter.c') diff --git a/filter/filter.c b/filter/filter.c index a805363..3a1ee07 100644 --- a/filter/filter.c +++ b/filter/filter.c @@ -43,8 +43,6 @@ #define P(a,b) ((a<<8) | b) -struct f_inst *startup_func = NULL, *test1_func, *test2_func; - #define CMP_ERROR 999 static int @@ -665,24 +663,22 @@ f_run(struct filter *filter, struct rte **rte, struct ea_list **tmp_attrs, struc return res.val.i; } -void -filters_postconfig(void) +int +f_eval_int(struct f_inst *expr) { struct f_val res; -#if 1 - if (!i_same(test1_func, test2_func)) - bug("i_same does not work"); -#endif - if (startup_func) { - debug( "Launching startup function...\n" ); - f_pool = lp_new(&root_pool, 1024); - res = interpret(startup_func); - if (res.type == F_ERROR) - die( "Startup function resulted in error." ); - debug( "done\n" ); - } -} + f_flags = 0; + f_tmp_attrs = NULL; + f_rte = NULL; + f_rte_old = NULL; + f_rta_copy = NULL; + f_pool = cfg_mem; + res = interpret(expr); + if (res.type != T_INT) + cf_error("Integer expression expected"); + return res.val.i; +} /** * filter_same - compare two filters -- cgit v1.2.3