projects
/
paraslash.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make filter config parsers return int.
[paraslash.git]
/
filter_chain.c
diff --git
a/filter_chain.c
b/filter_chain.c
index fa8637efc189ed8ebae3a3f8db2a72c540713cbc..def0a81381f42c48a0a7b076f037872c2123af9c 100644
(file)
--- 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];
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,
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;
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);
free(argv[0]);
free(argv);
- return
*conf? filter_num : -E_BAD_FILTER_OPTIONS
;
+ return
ret < 0? ret : filter_num
;
}
/**
}
/**