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,
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;
}
/**