From 9ab7041c3c570858581d0cdc451ed22caaa7d50e Mon Sep 17 00:00:00 2001 From: englebass Date: Thu, 1 Apr 2010 19:31:49 +0000 Subject: [PATCH] efreet: stringshare git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/efreet@47659 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/efreet_desktop.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/lib/efreet_desktop.c b/src/lib/efreet_desktop.c index 9eb894d..44111aa 100644 --- a/src/lib/efreet_desktop.c +++ b/src/lib/efreet_desktop.c @@ -68,8 +68,8 @@ static int efreet_desktop_command_file_id = 0; */ static Ecore_Job *efreet_desktop_job = NULL; -static char *cache_file = NULL; -static char *cache_dirs = NULL; +static const char *cache_file = NULL; +static const char *cache_dirs = NULL; static Eet_File *cache = NULL; static Eet_Data_Descriptor *desktop_edd = NULL; static Ecore_File_Monitor *cache_monitor = NULL; @@ -94,7 +94,7 @@ typedef struct Efreet_Desktop_Type_Info Efreet_Desktop_Type_Info; struct Efreet_Desktop_Type_Info { int id; - char *type; + const char *type; Efreet_Desktop_Type_Parse_Cb parse_func; Efreet_Desktop_Type_Save_Cb save_func; Efreet_Desktop_Type_Free_Cb free_func; @@ -249,14 +249,14 @@ efreet_desktop_shutdown(void) efreet_desktop_types); } EINA_LIST_FREE(efreet_desktop_dirs, dir) - free(dir); + eina_stringshare_del(dir); if (cache_monitor) ecore_file_monitor_del(cache_monitor); if (cache) eet_close(cache); efreet_desktop_edd_shutdown(desktop_edd); ecore_file_shutdown(); eina_log_domain_unregister(_efreet_desktop_log_dom); - IF_FREE(cache_file); - IF_FREE(cache_dirs); + IF_RELEASE(cache_file); + IF_RELEASE(cache_dirs); if (efreet_desktop_job) ecore_job_del(efreet_desktop_job); efreet_desktop_job = NULL; } @@ -286,7 +286,7 @@ efreet_desktop_cache_file(void) else snprintf(tmp, sizeof(tmp), "%s/.efreet/desktop.cache", home); - cache_file = strdup(tmp); + cache_file = eina_stringshare_add(tmp); return cache_file; } @@ -302,7 +302,7 @@ efreet_desktop_cache_dirs(void) snprintf(tmp, sizeof(tmp), "%s/.efreet/desktop_dirs.cache", efreet_home_dir_get()); - cache_dirs = strdup(tmp); + cache_dirs = eina_stringshare_add(tmp); return cache_dirs; } @@ -392,7 +392,7 @@ efreet_desktop_get(const char *file) p = dirname(buf); if (!eina_list_search_unsorted(efreet_desktop_dirs, EINA_COMPARE_CB(strcmp), p)) { - efreet_desktop_dirs = eina_list_append(efreet_desktop_dirs, strdup(p)); + efreet_desktop_dirs = eina_list_append(efreet_desktop_dirs, eina_stringshare_add(p)); if (efreet_desktop_job) ecore_job_del(efreet_desktop_job); efreet_desktop_job = ecore_job_add(efreet_desktop_update_cache_dirs, NULL); } @@ -908,7 +908,7 @@ efreet_desktop_type_add(const char *type, Efreet_Desktop_Type_Parse_Cb parse_fun id = eina_list_count(efreet_desktop_types); info->id = id; - info->type = strdup(type); + info->type = eina_stringshare_add(type); info->parse_func = parse_func; info->save_func = save_func; info->free_func = free_func; @@ -944,7 +944,7 @@ static void efreet_desktop_type_info_free(Efreet_Desktop_Type_Info *info) { if (!info) return; - IF_FREE(info->type); + IF_RELEASE(info->type); free(info); } @@ -2174,7 +2174,7 @@ efreet_desktop_update_cache_dirs(void *data __UNUSED__) if (!strcmp(dir, p)) { efreet_desktop_dirs = eina_list_remove_list(efreet_desktop_dirs, l); - free(dir); + eina_stringshare_del(dir); break; } } @@ -2186,6 +2186,7 @@ efreet_desktop_update_cache_dirs(void *data __UNUSED__) unsigned int size = strlen(dir) + 1; write(cachefd, &size, sizeof(int)); write(cachefd, dir, size); + eina_stringshare_del(dir); } efreet_desktop_dirs = NULL; -- 2.7.4