[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdelibs/kdecore
From:       Oswald Buddenhagen <ossi () kde ! org>
Date:       2003-11-23 16:07:42
[Download RAW message or body]

CVS commit by ossi: 

don't be overzealous trying to get the right home dir for root. we can
trust $HOME, as all login tools set it - if they would not, hell would
break loose.


  M +8 -27     kstandarddirs.cpp   1.168


--- kdelibs/kdecore/kstandarddirs.cpp  #1.167:1.168
@@ -1048,8 +1048,7 @@ void KStandardDirs::addKDEDefaults()
 #endif
 
-    QString localKdeDir;
-    if (getuid())
-    {
-       localKdeDir = readEnvPath("KDEHOME");
+    // We treat root differently to prevent a "su" shell messing up the
+    // file permissions in the user's home directory.
+    QString localKdeDir = readEnvPath(getuid() ? "KDEHOME" : "KDEROOTHOME");
        if (!localKdeDir.isEmpty())
        {
@@ -1060,22 +1059,4 @@ void KStandardDirs::addKDEDefaults()
        {
           localKdeDir =  QDir::homeDirPath() + "/.kde/";
-       }
-    }
-    else
-    {
-       // We treat root different to prevent root messing up the
-       // file permissions in the users home directory.
-       localKdeDir = readEnvPath("KDEROOTHOME");
-       if (!localKdeDir.isEmpty())
-       {
-          if (localKdeDir[localKdeDir.length()-1] != '/')
-             localKdeDir += '/';
-       }
-       else
-       {
-          struct passwd *pw = getpwuid(0);
-          localKdeDir =  QFile::decodeName((pw && pw->pw_dir) ? pw->pw_dir : "/root")  + "/.kde/";
-       }
-
     }
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic