--- orage-4.8.0.orig/src/functions.c +++ orage-4.8.0/src/functions.c @@ -749,6 +749,44 @@ void orage_select_today(GtkCalendar *cal * data and config file locations *******************************************************/ +gchar *orage_xdg_data_file_location(char *name) +{ + char *file_name; + const gchar * const *base_dirs; + int i; + + base_dirs = g_get_system_data_dirs(); + for (i = 0; base_dirs[i] != NULL; i++) { + file_name = g_build_filename (base_dirs[i], name, NULL); + if (g_file_test (file_name, G_FILE_TEST_IS_REGULAR)) { + return(file_name); + } + g_free (file_name); + } + + /* no system wide data file */ + return(NULL); +} + +gchar *orage_xdg_config_file_location(char *name) +{ + char *file_name; + const gchar * const *base_dirs; + int i; + + base_dirs = g_get_system_config_dirs(); + for (i = 0; base_dirs[i] != NULL; i++) { + file_name = g_build_filename (base_dirs[i], name, NULL); + if (g_file_test (file_name, G_FILE_TEST_IS_REGULAR)) { + return(file_name); + } + g_free (file_name); + } + + /* no system wide config file */ + return(NULL); +} + gchar *orage_data_file_location(char *name) { char *file_name, *dir_name;