Fixed some memory leaks in windows.c and main.c

windows.c:subsurface_gettext_domainpath():
- memory at pointer returned from g_win32_getlocale() should be released

main.c:setup_system_prefs()
- it seems all calls to <os_file>:system_default_filename()
return a pre-allocated buffer, therefore we don't need to call strdup()
on the result itself.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Lubomir I. Ivanov 2013-02-09 21:29:56 +02:00 committed by Dirk Hohndel
parent a4ae0a4650
commit 2af818bf91
2 changed files with 4 additions and 2 deletions

2
main.c
View file

@ -281,7 +281,7 @@ static void setup_system_prefs(void)
const char *env;
default_prefs.divelist_font = strdup(system_divelist_default_font);
default_prefs.default_filename = strdup(system_default_filename());
default_prefs.default_filename = system_default_filename();
env = getenv("LC_MEASUREMENT");
if (!env)

View file

@ -232,8 +232,10 @@ const char *subsurface_gettext_domainpath(char *argv0)
/* first hackishly make sure that the LANGUAGE information is correctly set up
* in the environment */
char buffer[80];
snprintf(buffer, sizeof(buffer), "LANGUAGE=%s.UTF-8", g_win32_getlocale());
gchar *locale = g_win32_getlocale();
snprintf(buffer, sizeof(buffer), "LANGUAGE=%s.UTF-8", locale);
putenv(buffer);
g_free(locale);
/* always use translation directory relative to install location, regardless of argv0 */
return "./share/locale";
}