config - override the paths only those are actually existed.

This commit is contained in:
ChunEon Park 2014-02-18 20:34:03 +09:00
parent f662c73b22
commit b229686519
2 changed files with 23 additions and 34 deletions

View File

@ -131,6 +131,15 @@ config_load()
cd = calloc(1, sizeof(config_data));
g_cd = cd;
sprintf(buf, "%s/images", elm_app_data_dir_get());
config_edc_img_path_set(buf);
sprintf(buf, "%s/sounds", elm_app_data_dir_get());
config_edc_snd_path_set(buf);
sprintf(buf, "%s/fonts", elm_app_data_dir_get());
config_edc_fnt_path_set(buf);
sprintf(buf, "%s/data", elm_app_data_dir_get());
config_edc_data_path_set(buf);
cd->font_size = 1.0f;
cd->view_scale = 1;
cd->stats_bar = EINA_TRUE;
@ -214,11 +223,11 @@ config_init(const char *edc_path, const char *edc_img_path,
config_data *cd = config_load();
if (edc_path) config_edc_path_set(edc_path);
if (edc_img_path) config_edc_img_path_set(edc_img_path);
if (edc_snd_path) config_edc_snd_path_set(edc_snd_path);
if (edc_fnt_path) config_edc_fnt_path_set(edc_fnt_path);
if (edc_data_path) config_edc_data_path_set(edc_data_path);
if (edc_path[0]) config_edc_path_set(edc_path);
if (edc_img_path[0]) config_edc_img_path_set(edc_img_path);
if (edc_snd_path[0]) config_edc_snd_path_set(edc_snd_path);
if (edc_fnt_path[0]) config_edc_fnt_path_set(edc_fnt_path);
if (edc_data_path[0]) config_edc_data_path_set(edc_data_path);
}
void

View File

@ -403,10 +403,6 @@ args_dispatch(int argc, char **argv, char *edc_path, char *img_path,
char *snd_path, char *fnt_path, char *data_path)
{
Eina_Bool default_edc = EINA_TRUE;
Eina_Bool default_img = EINA_TRUE;
Eina_Bool default_snd = EINA_TRUE;
Eina_Bool default_fnt = EINA_TRUE;
Eina_Bool default_data = EINA_TRUE;
//No arguments. set defaults
if (argc == 1) goto defaults;
@ -434,45 +430,29 @@ args_dispatch(int argc, char **argv, char *edc_path, char *img_path,
if (argc > (cur_arg + 1))
{
if (!strcmp("-id", argv[cur_arg]))
{
sprintf(img_path, "%s", argv[cur_arg + 1]);
default_img = EINA_FALSE;
}
sprintf(img_path, "%s", argv[cur_arg + 1]);
else if (!strcmp("-sd", argv[cur_arg]))
{
sprintf(snd_path, "%s", argv[cur_arg + 1]);
default_snd = EINA_FALSE;
}
sprintf(snd_path, "%s", argv[cur_arg + 1]);
else if (!strcmp("-fd", argv[cur_arg]))
{
sprintf(fnt_path, "%s", argv[cur_arg + 1]);
default_fnt = EINA_FALSE;
}
sprintf(fnt_path, "%s", argv[cur_arg + 1]);
else if (!strcmp("-dd", argv[cur_arg]))
{
sprintf(data_path, "%s", argv[cur_arg + 1]);
default_data = EINA_FALSE;
}
sprintf(data_path, "%s", argv[cur_arg + 1]);
}
cur_arg += 2;
}
defaults:
if (default_edc) sprintf(edc_path, "%s", PROTO_EDC_PATH);
if (default_img) sprintf(img_path, "%s/images", elm_app_data_dir_get());
if (default_snd) sprintf(snd_path, "%s/sounds", elm_app_data_dir_get());
if (default_fnt) sprintf(fnt_path, "%s/fonts", elm_app_data_dir_get());
if (default_data) sprintf(data_path, "%s/data", elm_app_data_dir_get());
}
static void
config_data_set(app_data *ad, int argc, char **argv)
{
char edc_path[PATH_MAX];
char img_path[PATH_MAX];
char snd_path[PATH_MAX];
char fnt_path[PATH_MAX];
char data_path[PATH_MAX];
char edc_path[PATH_MAX] = { 0, };
char img_path[PATH_MAX] = { 0, };
char snd_path[PATH_MAX] = { 0, };
char fnt_path[PATH_MAX] = { 0, };
char data_path[PATH_MAX] = { 0, };
args_dispatch(argc, argv, edc_path, img_path, snd_path, fnt_path, data_path);
config_init(edc_path, img_path, snd_path, fnt_path, data_path);