MINOR: compression: try init in cfgparse.c

Try to init and deinit the algorithm in the configuration parser and
exit with error if it doesn't work.
This commit is contained in:
William Lallemand 2012-11-07 13:21:47 +01:00 committed by Willy Tarreau
parent 2b50247695
commit 552df67100

View File

@ -5296,6 +5296,8 @@ stats_error_parsing:
if (!strcmp(args[1], "algo")) {
int cur_arg;
struct comp_ctx ctx;
cur_arg = 2;
if (!*args[cur_arg]) {
Alert("parsing [%s:%d] : '%s' expects <algorithm>\n",
@ -5310,6 +5312,14 @@ stats_error_parsing:
err_code |= ERR_ALERT | ERR_FATAL;
goto out;
}
if (curproxy->comp->algos->init(&ctx, 9) == 0) {
curproxy->comp->algos->end(&ctx);
} else {
Alert("parsing [%s:%d] : '%s' : Can't init '%s' algorithm.\n",
file, linenum, args[0], args[cur_arg]);
err_code |= ERR_ALERT | ERR_FATAL;
goto out;
}
cur_arg ++;
continue;
}