File kdesu-lc_all.diff of Package kdelibs3
--- kdesu/process.cpp.sav 2005-07-26 14:12:48.000000000 +0200
+++ kdesu/process.cpp 2006-03-28 09:15:37.000000000 +0200
@@ -296,6 +296,12 @@ int PtyProcess::exec(const QCString &com
putenv((*it).data());
}
unsetenv("KDE_FULL_SESSION");
+ const char* old_lc_all = getenv( "LC_ALL" );
+ if( old_lc_all != NULL )
+ setenv( "KDESU_LC_ALL", old_lc_all, 1 );
+ else
+ unsetenv( "KDESU_LC_ALL" );
+ setenv("LC_ALL", "C", 1);
// From now on, terminal output goes through the tty.
--- kdesu/kdesu_stub.c.sav 2005-11-12 16:28:02.000000000 +0100
+++ kdesu/kdesu_stub.c 2006-03-28 09:15:55.000000000 +0200
@@ -192,6 +192,7 @@ int main()
pid_t pid;
FILE *fout;
struct passwd *pw;
+ const char* kdesu_lc_all;
/* Get startup parameters. */
@@ -236,6 +237,12 @@ int main()
xsetenv("PATH", params[P_PATH].value);
xsetenv("DESKTOP_STARTUP_ID", params[P_APP_STARTUP_ID].value);
+ kdesu_lc_all = getenv( "KDESU_LC_ALL" );
+ if( kdesu_lc_all != NULL )
+ xsetenv("LC_ALL",kdesu_lc_all);
+ else
+ xsetenv("LC_ALL","");
+
/* Do we need to change uid? */
pw = getpwnam(params[P_USER].value);