Commit 30cbb111 authored by Mike Rapoport's avatar Mike Rapoport Committed by Andrei Vagin

criu/config: allow init_config properly handle -h/--help

When config parsing was split into a separate part the handling of
-h/--help option during init_config was broken. Fix it.
Signed-off-by: 's avatarMike Rapoport <rppt@linux.vnet.ibm.com>
Signed-off-by: 's avatarAndrei Vagin <avagin@virtuozzo.com>
parent 0322077d
......@@ -184,16 +184,15 @@ static void init_configuration(int argc, char *argv[], int defaults_forbidden)
}
}
void init_config(int argc, char **argv, int *global_cfg_argc, int *user_cfg_argc)
int init_config(int argc, char **argv, int *global_cfg_argc, int *user_cfg_argc,
bool *usage_error)
{
int help_or_configs;
bool usage_error;
help_or_configs = passed_help_or_defaults_forbidden(argc, argv);
if (help_or_configs == 1) {
usage_error = false;
printf("goto usage: %d\n", usage_error);
return;
*usage_error = false;
return 1;
}
init_configuration(argc, argv, (help_or_configs == DEFAULT_CONFIGS_FORBIDDEN));
......@@ -201,4 +200,6 @@ void init_config(int argc, char **argv, int *global_cfg_argc, int *user_cfg_argc
*global_cfg_argc = count_elements(global_conf);
if (user_conf != NULL)
*user_cfg_argc = count_elements(user_conf);
return 0;
}
......@@ -395,7 +395,10 @@ int main(int argc, char *argv[], char *envp[])
return cr_service_work(atoi(argv[2]));
}
init_config(argc, argv, &global_cfg_argc, &user_cfg_argc);
ret = init_config(argc, argv, &global_cfg_argc, &user_cfg_argc,
&usage_error);
if (ret)
goto usage;
while (1) {
idx = -1;
......
......@@ -32,8 +32,9 @@ extern int cr_lazy_pages(bool daemon);
extern int check_add_feature(char *arg);
extern void pr_check_features(const char *offset, const char *sep, int width);
extern void init_config(int argc, char **argv,
int *global_cfg_argc, int *user_cfg_argc);
extern int init_config(int argc, char **argv,
int *global_cfg_argc, int *user_cfg_argc,
bool *usage_error);
#define PPREP_HEAD_INACTIVE ((struct pprep_head *)-1)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment