]> granicus.if.org Git - sudo/commitdiff
Set locale to system default except for during sudoers parse.
authorTodd C. Miller <Todd.Miller@courtesan.com>
Sat, 13 Sep 2008 18:09:28 +0000 (18:09 +0000)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Sat, 13 Sep 2008 18:09:28 +0000 (18:09 +0000)
sudo.c

diff --git a/sudo.c b/sudo.c
index e43f8bdab8018e550e329b06b86cad8bd87f00ec..685d04dea3eb40b1daac1e6db9410e3c93cc5c03 100644 (file)
--- a/sudo.c
+++ b/sudo.c
@@ -178,7 +178,7 @@ main(argc, argv, envp)
     struct sudo_nss *nss;
 
 #ifdef HAVE_SETLOCALE
-    setlocale(LC_ALL, "C");
+    setlocale(LC_ALL, "");
 #endif
 
     Argv = argv;
@@ -325,6 +325,10 @@ main(argc, argv, envp)
 
     cmnd_status = set_cmnd(sudo_mode);
 
+#ifdef HAVE_SETLOCALE
+    setlocale(LC_ALL, "C");
+#endif
+
     validated = FLAG_NO_USER | FLAG_NO_HOST;
     tq_foreach_fwd(snl, nss) {
        validated = nss->lookup(nss, validated, pwflag);
@@ -336,6 +340,10 @@ main(argc, argv, envp)
     if (safe_cmnd == NULL)
        safe_cmnd = estrdup(user_cmnd);
 
+#ifdef HAVE_SETLOCALE
+    setlocale(LC_ALL, "");
+#endif
+
     /* If only a group was specified, set runas_pw based on invoking user. */
     if (runas_pw == NULL)
        set_runaspw(user_name);