From abee9c239f74f60a77c0931be23ad1d8670feda6 Mon Sep 17 00:00:00 2001
From: Hrvoje Senjan <hrvoje.senjan@gmail.com>
Date: Tue, 3 Dec 2013 19:31:13 +0100
Subject: [PATCH 1/1] kdesu Add some love

From/toUTF8 in practice covers more ground than 8bit.
Furthermore, make the kdesu 'command' translatable, it's used
in openSUSE with dolphin and konsole 'Start as root'
BUG: boo#852256
---
 kdesu/kdesu.cpp | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/kdesu/kdesu.cpp b/kdesu/kdesu.cpp
index 9e7f173..f553422 100644
--- a/kdesu/kdesu.cpp
+++ b/kdesu/kdesu.cpp
@@ -140,7 +140,7 @@ int main(int argc, char *argv[])
 
     if (result == 127)
     {
-        KMessageBox::sorry(0, i18n("Cannot execute command '%1'.", QString::fromLocal8Bit(command)));
+        KMessageBox::sorry(0, i18n("Cannot execute command '%1'.", QString::fromUtf8(command)));
     }
 
     return result;
@@ -175,7 +175,7 @@ static int startApp(QCommandLineParser& p)
         prompt = false;
 
     // Get target uid
-    QByteArray user = p.value("u").toLocal8Bit();
+    QByteArray user = p.value("u").toUtf8();
     QByteArray auth_user = user;
     struct passwd *pw = getpwnam(user);
     if (pw == 0L)
@@ -235,7 +235,7 @@ static int startApp(QCommandLineParser& p)
     // Get command
     if (p.isSet("c"))
     {
-        command = p.value("c").toLocal8Bit();
+        command = p.value("c").toUtf8();
         // Accepting additional arguments here is somewhat weird,
         // but one can conceive use cases: have a complex command with
         // redirections and additional file names which need to be quoted
@@ -323,7 +323,7 @@ static int startApp(QCommandLineParser& p)
 //     }
 
     KUser u;
-    env << (QByteArray) ("KDESU_USER=" + u.loginName().toLocal8Bit());
+    env << (QByteArray) ("KDESU_USER=" + u.loginName().toUtf8());
 
     if (keep && !terminal && !just_started)
     {
@@ -429,7 +429,7 @@ static int startApp(QCommandLineParser& p)
     }
     else if (keep && have_daemon)
     {
-        client.setPass(password.toLocal8Bit(), timeout);
+        client.setPass(password.toUtf8(), timeout);
         client.setPriority(priority);
         client.setScheduler(scheduler);
         int result = client.exec(command, user, options, env);
@@ -448,7 +448,7 @@ static int startApp(QCommandLineParser& p)
         proc.setPriority(priority);
         proc.setScheduler(scheduler);
         proc.setCommand(command);
-        int result = proc.exec(password.toLocal8Bit());
+        int result = proc.exec(password.toUtf8());
         return result;
     }
     return -1;
-- 
1.8.4.4