[systemd-commits] src/shared

Harald Hoyer harald at kemper.freedesktop.org
Mon Apr 15 09:37:30 PDT 2013


 src/shared/util.c |   18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

New commits:
commit fee79e010f1f8ad2bce6b41c67e8ddd4f419ff4b
Author: Harald Hoyer <harald at redhat.com>
Date:   Mon Apr 15 18:34:53 2013 +0200

    do not change console to non-unicode for LANG=C
    
    If systemd-vconsole-setup was started with LANG=C (no locale.conf), then
    it would set the console to non-unicode, which is not what we want.

diff --git a/src/shared/util.c b/src/shared/util.c
index 5827f6c..5d6995d 100644
--- a/src/shared/util.c
+++ b/src/shared/util.c
@@ -5402,7 +5402,23 @@ bool is_locale_utf8(void) {
                 goto out;
         }
 
-        cached_answer = streq(set, "UTF-8");
+        if(streq(set, "UTF-8")) {
+                cached_answer = true;
+                goto out;
+        }
+
+        /* For LC_CTYPE=="C" return true,
+         * because CTYPE is effectly unset and
+         * everything defaults to UTF-8 nowadays. */
+
+        set = setlocale(LC_CTYPE, NULL);
+        if (!set) {
+                cached_answer = true;
+                goto out;
+        }
+
+        cached_answer = streq(set, "C");
+
 out:
         return (bool)cached_answer;
 }



More information about the systemd-commits mailing list