From 753c95b3cec1f7625c68d11b2d4f5786064566a1 Mon Sep 17 00:00:00 2001 From: Peter Verthez Date: Wed, 16 Jan 2002 17:47:53 +0000 Subject: [PATCH] setlocale returns a string in static storage, so must use strdup (and free it afterwards) --- gedcom/multilex.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gedcom/multilex.c b/gedcom/multilex.c index 471f5ac..42b9f50 100644 --- a/gedcom/multilex.c +++ b/gedcom/multilex.c @@ -111,7 +111,7 @@ int gedcom_parse_file(char* file_name) int result = 1; FILE* file; - char *save_locale = setlocale(LC_ALL, NULL); + char *save_locale = strdup(setlocale(LC_ALL, NULL)); char *save_textdom = textdomain(NULL); setlocale(LC_ALL, ""); bindtextdomain(PACKAGE, LOCALEDIR); @@ -140,6 +140,7 @@ int gedcom_parse_file(char* file_name) textdomain(save_textdom); setlocale(LC_ALL, save_locale); + free(save_locale); return result; } -- 2.30.2