From e88061b9aa6f7d86e5f71e867e139b63297f5e65 Mon Sep 17 00:00:00 2001 From: Sebastian Dransfeld Date: Thu, 9 Dec 2010 13:15:43 +0000 Subject: [PATCH] Reduce stack usage For functions often called, don't put unneded mem on stack SVN revision: 55411 --- legacy/efreet/src/lib/efreet_cache.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/legacy/efreet/src/lib/efreet_cache.c b/legacy/efreet/src/lib/efreet_cache.c index dae2fe7df7..b890ac0f51 100644 --- a/legacy/efreet/src/lib/efreet_cache.c +++ b/legacy/efreet/src/lib/efreet_cache.c @@ -217,11 +217,12 @@ efreet_icon_cache_file(void) EAPI const char * efreet_icon_theme_cache_file(void) { - char tmp[PATH_MAX] = { '\0' }; + char *tmp; if (icon_theme_cache_file) return icon_theme_cache_file; - snprintf(tmp, sizeof(tmp), "%s/efreet/icon_themes_%s.eet", + tmp = alloca(PATH_MAX); + snprintf(tmp, PATH_MAX, "%s/efreet/icon_themes_%s.eet", efreet_cache_home_get(), efreet_hostname_get()); icon_theme_cache_file = eina_stringshare_add(tmp); @@ -257,24 +258,25 @@ efreet_version_edd(void) EAPI const char * efreet_desktop_cache_file(void) { - char tmp[PATH_MAX] = { '\0' }; + char *tmp; const char *cache, *lang, *country, *modifier; if (desktop_cache_file) return desktop_cache_file; + tmp = alloca(PATH_MAX); cache = efreet_cache_home_get(); lang = efreet_lang_get(); country = efreet_lang_country_get(); modifier = efreet_lang_modifier_get(); if (lang && country && modifier) - snprintf(tmp, sizeof(tmp), "%s/efreet/desktop_%s_%s_%s@%s.eet", cache, efreet_hostname_get(), lang, country, modifier); + snprintf(tmp, PATH_MAX, "%s/efreet/desktop_%s_%s_%s@%s.eet", cache, efreet_hostname_get(), lang, country, modifier); else if (lang && country) - snprintf(tmp, sizeof(tmp), "%s/efreet/desktop_%s_%s_%s.eet", cache, efreet_hostname_get(), lang, country); + snprintf(tmp, PATH_MAX, "%s/efreet/desktop_%s_%s_%s.eet", cache, efreet_hostname_get(), lang, country); else if (lang) - snprintf(tmp, sizeof(tmp), "%s/efreet/desktop_%s_%s.eet", cache, efreet_hostname_get(), lang); + snprintf(tmp, PATH_MAX, "%s/efreet/desktop_%s_%s.eet", cache, efreet_hostname_get(), lang); else - snprintf(tmp, sizeof(tmp), "%s/efreet/desktop_%s.eet", cache, efreet_hostname_get()); + snprintf(tmp, PATH_MAX, "%s/efreet/desktop_%s.eet", cache, efreet_hostname_get()); desktop_cache_file = eina_stringshare_add(tmp); return desktop_cache_file; @@ -286,11 +288,12 @@ efreet_desktop_cache_file(void) EAPI const char * efreet_desktop_cache_dirs(void) { - char tmp[PATH_MAX] = { '\0' }; + char *tmp; if (desktop_cache_dirs) return desktop_cache_dirs; - snprintf(tmp, sizeof(tmp), "%s/efreet/desktop_dirs.cache", efreet_cache_home_get()); + tmp = alloca(PATH_MAX); + snprintf(tmp, PATH_MAX, "%s/efreet/desktop_dirs.cache", efreet_cache_home_get()); desktop_cache_dirs = eina_stringshare_add(tmp); return desktop_cache_dirs;