X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=filter_chain.c;h=def0a81381f42c48a0a7b076f037872c2123af9c;hp=fa8637efc189ed8ebae3a3f8db2a72c540713cbc;hb=b779fcfc62bca2e728348c70bab3c50df3fe63b8;hpb=5c575441c5ac69d3107d8032c1c1d2d7f5c72ee1 diff --git a/filter_chain.c b/filter_chain.c index fa8637ef..def0a813 100644 --- a/filter_chain.c +++ b/filter_chain.c @@ -198,7 +198,7 @@ void close_filters(struct filter_chain *fc) static int parse_filter_args(int filter_num, char *options, void **conf) { struct filter *f = &filters[filter_num]; - int i, argc = 2; + int ret, i, argc = 2; char **argv; // PARA_DEBUG_LOG("%s, options: %s, parser: %p\n", f->name, @@ -212,10 +212,10 @@ static int parse_filter_args(int filter_num, char *options, void **conf) argv[i + 1] = argv[i]; argv[0] = para_strdup(f->name); argc += 1; - *conf = f->parse_config(argc, argv); + ret = f->parse_config(argc, argv, conf); free(argv[0]); free(argv); - return *conf? filter_num : -E_BAD_FILTER_OPTIONS; + return ret < 0? ret : filter_num; } /**