Index: trunk/src/librnd/core/conf.c =================================================================== --- trunk/src/librnd/core/conf.c (revision 32696) +++ trunk/src/librnd/core/conf.c (revision 32697) @@ -469,7 +469,7 @@ const char *rnd_conf_get_user_conf_name() { - return rnd_conf_user_path; + return rnd_app.conf_user_path; } const char *rnd_conf_get_project_conf_name(const char *project_fn, const char *pcb_fn, const char **try) @@ -1280,8 +1280,8 @@ rnd_conf_load_as(RND_CFR_INTERNAL, rnd_conf_internal, 1); /* load config files */ - rnd_conf_load_as(RND_CFR_SYSTEM, rnd_conf_sys_path, 0); - rnd_conf_load_as(RND_CFR_USER, rnd_conf_user_path, 0); + rnd_conf_load_as(RND_CFR_SYSTEM, rnd_app.conf_sys_path, 0); + rnd_conf_load_as(RND_CFR_USER, rnd_app.conf_user_path, 0); pc = rnd_conf_get_project_conf_name(project_fn, pcb_fn, &try); if (pc != NULL) rnd_conf_load_as(RND_CFR_PROJECT, pc, 0); @@ -1291,7 +1291,7 @@ this is needed so if the user makes config changes from the GUI things get saved. */ if (pcb_conf_main_root[RND_CFR_USER] == NULL) - rnd_conf_reset(RND_CFR_USER, rnd_conf_user_path); + rnd_conf_reset(RND_CFR_USER, rnd_app.conf_user_path); rnd_conf_in_production = 1; } @@ -1299,8 +1299,8 @@ void rnd_conf_load_extra(const char *project_fn, const char *pcb_fn) { int cnt; - cnt = conf_load_plug_files(RND_CFR_SYSTEM, rnd_conf_sysdir_path); - cnt += conf_load_plug_files(RND_CFR_USER, rnd_conf_userdir_path); + cnt = conf_load_plug_files(RND_CFR_SYSTEM, rnd_app.conf_sysdir_path); + cnt += conf_load_plug_files(RND_CFR_USER, rnd_app.conf_userdir_path); cnt += conf_load_plug_interns(RND_CFR_INTERNAL); if (cnt > 0) rnd_conf_merge_all(NULL); @@ -1922,7 +1922,7 @@ if (fn == NULL) { switch(role) { case RND_CFR_USER: - fn = rnd_conf_user_path; + fn = rnd_app.conf_user_path; break; case RND_CFR_PROJECT: fn = rnd_conf_get_project_conf_name(project_fn, pcb_fn, &try); Index: trunk/src/librnd/core/hidlib.h =================================================================== --- trunk/src/librnd/core/hidlib.h (revision 32696) +++ trunk/src/librnd/core/hidlib.h (revision 32697) @@ -83,8 +83,16 @@ const char *menu_name_fmt; /* optional: printf format string for the menu file name; may contain one %s that will be substituted with rc.menu_file. */ const char *default_embedded_menu; /* optional: the whole default menu file embedded in the executable; NULL if not present */ +/* path to the user's config directory and main config file (RND_CFR_USER) */ + const char *conf_userdir_path; + const char *conf_user_path; +/* path to the system (installed) config directory and main config file (RND_CFR_SYSTEM) */ + const char *conf_sysdir_path; + const char *conf_sys_path; + + /* Spare: see doc/developer/spare.txt */ void (*spare_f1)(void), (*spare_f2)(void), (*spare_f3)(void), (*spare_f4)(void), (*spare_f5)(void), (*spare_f6)(void); long spare_l1, spare_l2, spare_l3, spare_l4; @@ -141,15 +149,8 @@ void rnd_expose_preview(rnd_hid_t *hid, const rnd_hid_expose_ctx_t *e); -/* path to the user's config directory and main config file (RND_CFR_USER) */ -extern const char *rnd_conf_userdir_path; -extern const char *rnd_conf_user_path; -/* path to the system (installed) config directory and main config file (RND_CFR_SYSTEM) */ -extern const char *rnd_conf_sysdir_path; -extern const char *rnd_conf_sys_path; - /*** API wrappers provided for plugins (these are translated into calls to the app within the hidlib) ***/ void rnd_hidcore_crosshair_move_to(rnd_hidlib_t *hidlib, rnd_coord_t abs_x, rnd_coord_t abs_y, int mouse_mot); Index: trunk/src/librnd/plugins/script/perma.c =================================================================== --- trunk/src/librnd/plugins/script/perma.c (revision 32696) +++ trunk/src/librnd/plugins/script/perma.c (revision 32697) @@ -123,8 +123,8 @@ if (inited) return; - perma_script_load_conf(hl, rnd_conf_userdir_path); - perma_script_load_conf(hl, rnd_conf_sysdir_path); + perma_script_load_conf(hl, rnd_app.conf_userdir_path); + perma_script_load_conf(hl, rnd_app.conf_sysdir_path); inited = 1; } Index: trunk/src/test-rnd.c =================================================================== --- trunk/src/test-rnd.c (revision 32696) +++ trunk/src/test-rnd.c (revision 32697) @@ -56,10 +56,6 @@ #define FOOBARSHAREDIR "/usr/share/foobar" #define CONF_USER_DIR "~/.foobar" -const char *rnd_conf_userdir_path = CONF_USER_DIR; -const char *rnd_conf_user_path = CONF_USER_DIR "/foobar-conf.lht"; -const char *rnd_conf_sysdir_path = FOOBARSHAREDIR; -const char *rnd_conf_sys_path = FOOBARSHAREDIR "/foobar-conf.lht"; /*** the data model ***/ #include @@ -197,6 +193,12 @@ rnd_app.menu_file_paths = menu_file_paths; rnd_app.menu_name_fmt = menu_name_fmt; + rnd_app.conf_userdir_path = CONF_USER_DIR; + rnd_app.conf_user_path = CONF_USER_DIR "/foobar-conf.lht"; + rnd_app.conf_sysdir_path = FOOBARSHAREDIR; + rnd_app.conf_sys_path = FOOBARSHAREDIR "/foobar-conf.lht"; + + rnd_fix_locale_and_env(); rnd_main_args_init(&ga, argc, foobar_action_args); Index: trunk/tests/librnd/glue.c =================================================================== --- trunk/tests/librnd/glue.c (revision 32696) +++ trunk/tests/librnd/glue.c (revision 32697) @@ -1,5 +1,5 @@ /*** hidlib glue ***/ - +TODO const char *rnd_hidlib_default_embedded_menu = ""; const char *rnd_conf_internal = ""; const char *rnd_menu_file_paths[] = { "./", NULL }; Index: trunk/tests/rnd_printf/glue.c =================================================================== --- trunk/tests/rnd_printf/glue.c (revision 32696) +++ trunk/tests/rnd_printf/glue.c (revision 32697) @@ -4,6 +4,8 @@ /*** hidlib glue ***/ +TODO + const char *rnd_hidlib_default_embedded_menu = ""; const char *rnd_conf_internal = ""; const char *rnd_menu_file_paths[] = { "./", NULL };