* Matt Kraai [2004-06-17 19:30:44-0700] [previous patch] > Should you also copy the code that handles LANGUAGE and > LANGUAGE_INST?
In fact, due to its importance, we should make the locale setting code more evident. Following patch resolves the code repetiveness problem and also ensures this requirement. It needs a test though. Could you review the patch? -- roktas
--- termwrap.orig 2004-06-18 10:57:07.000000000 +0300 +++ termwrap 2004-06-18 11:56:13.000000000 +0300 @@ -47,6 +47,25 @@ echo "error: $@" } +set_lang_language() { + # The locale should be validated before. + + if [ "$1" ]; then + warning "Setting locale to '$1'." + LANG=$1 + LC_ALL=$1 + # Set the collating order as POSIX. + LC_COLLATE=C + export LANG LC_ALL LC_COLLATE + fi + + if [ "$2" ]; then + warning "Setting language to '$2'." + LANGUAGE=$2 + export LANGUAGE + fi +} + unset_lang_language() { # The requested charset is not supported. Do not use the # given locale. If it was used, the translated texts might be @@ -142,22 +161,14 @@ # Make sure the locale is valid if validlocale $LANG_INST > /dev/null 2>&1 ; then - if [ "$LANGUAGE_INST" ]; then - LANGUAGE=$LANGUAGE_INST - export LANGUAGE - unset LANGUAGE_INST - fi - LANG=$LANG_INST - LC_ALL=$LANG_INST - LC_COLLATE=C - export LANG LC_ALL LC_COLLATE - unset LANG_INST - else - unset LANG_INST - unset LANGUAGE_INST + set_lang_language $LANG_INST $LANGUAGE_INST fi + else + set_lang_language $LANG_INST $LANGUAGE_INST fi + unset LANG_INST + unset LANGUAGE_INST unset locale unset charset unset localeconf