From 165295ab2848631d5558fc81affdefe4110d40ec Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sat, 30 Aug 2014 11:02:28 +0200 Subject: [PATCH] installer: Fix language selection The selected language was not written to the system configuration file and therefore the system was reset to English again. --- src/installer/main.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/installer/main.c b/src/installer/main.c index 88b3735cc8..d9dd75c2c6 100644 --- a/src/installer/main.c +++ b/src/installer/main.c @@ -238,7 +238,7 @@ int main(int argc, char *argv[]) { int rc = 0; char commandstring[STRING_SIZE]; int choice; - char shortlangname[10]; + char language[STRING_SIZE]; char message[STRING_SIZE]; char title[STRING_SIZE]; int allok = 0; @@ -320,9 +320,10 @@ int main(int argc, char *argv[]) { assert(choice <= NUM_LANGS); fprintf(flog, "Selected language: %s (%s)\n", languages[choice].name, languages[choice].code); + snprintf(language, sizeof(language), languages[choice].code); - setenv("LANGUAGE", languages[choice].code, 1); - setlocale(LC_ALL, languages[choice].code); + setenv("LANGUAGE", language, 1); + setlocale(LC_ALL, language); } char* helpline = center_string(_("/ between elements | selects | next screen"), screen_cols); @@ -598,7 +599,7 @@ int main(int argc, char *argv[]) { } /* Save language und local settings */ - write_lang_configs(shortlangname); + write_lang_configs(language); /* Build cache lang file */ snprintf(commandstring, STRING_SIZE, "/usr/sbin/chroot /harddisk /usr/bin/perl -e \"require '" CONFIG_ROOT "/lang.pl'; &Lang::BuildCacheLang\""); -- 2.39.2