config_data: Terminate if config init is failed.

If config init is failed, then initialization is stopped and terminated.

@fix
This commit is contained in:
Jaehyun Cho 2016-03-07 19:41:21 +09:00
parent d0ef7f8c68
commit cab91580fe
3 changed files with 12 additions and 5 deletions

View File

@ -311,7 +311,7 @@ config_input_path_set(const char *input_path)
config_edj_path_update(cd);
}
void
Eina_Bool
config_init(const char *input_path, const char *output_path,
Eina_List *img_path, Eina_List *snd_path,
Eina_List *fnt_path, Eina_List *dat_path)
@ -319,6 +319,7 @@ config_init(const char *input_path, const char *output_path,
eddc_init();
config_data *cd = config_load();
if (!cd) return EINA_FALSE;
g_cd = cd;
if (input_path[0]) config_input_path_set(input_path);
@ -335,6 +336,8 @@ config_init(const char *input_path, const char *output_path,
if (dat_path)
g_cd->dat_path_list = dat_path;
return EINA_TRUE;
}
void

View File

@ -340,7 +340,7 @@ defaults:
ecore_getopt_list_free(dd);
}
static void
static Eina_Bool
config_data_set(app_data *ad, int argc, char **argv, Eina_Bool *default_edc,
Eina_Bool *template)
{
@ -353,8 +353,11 @@ config_data_set(app_data *ad, int argc, char **argv, Eina_Bool *default_edc,
args_dispatch(argc, argv, edc_path, edj_path, &img_path, &snd_path,
&fnt_path, &dat_path, default_edc, template);
config_init(edc_path, edj_path, img_path, snd_path, fnt_path, dat_path);
if (!config_init(edc_path, edj_path, img_path, snd_path, fnt_path, dat_path))
return EINA_FALSE;
config_update_cb_set(config_update_cb, ad);
return EINA_TRUE;
}
static void
@ -900,7 +903,8 @@ init(app_data *ad, int argc, char **argv)
Eina_Bool template = EINA_FALSE;
Eina_Bool default_edc = EINA_TRUE;
config_data_set(ad, argc, argv, &default_edc, &template);
if (!config_data_set(ad, argc, argv, &default_edc, &template))
return EINA_FALSE;
newfile_default_set(default_edc);
base_gui_init();
statusbar_set();

View File

@ -3,7 +3,7 @@
#define MAX_VIEW_SCALE 5.0
#define MIN_VIEW_SCALE 0.1
void config_init(const char *input_path, const char *output_path, Eina_List *img_path, Eina_List *snd_path, Eina_List *fnt_path, Eina_List *dat_path);
Eina_Bool config_init(const char *input_path, const char *output_path, Eina_List *img_path, Eina_List *snd_path, Eina_List *fnt_path, Eina_List *dat_path);
void config_term(void);
const char *config_input_path_get(void);
const char *config_output_path_get(void);