24 #include <QtCore/QMutableStringListIterator>
25 #include <QtCore/QDir>
32 class KUser::Private :
public KShared
41 Private() : uid(uid_t(-1)), gid(gid_t(-1)) {}
42 Private(
const char *name) : uid(uid_t(-1)), gid(gid_t(-1))
44 fillPasswd(name ? ::getpwnam( name ) : 0);
46 Private(
const passwd *p) : uid(uid_t(-1)), gid(gid_t(-1))
51 void fillPasswd(
const passwd *p)
54 QString gecos = QString::fromLocal8Bit(p->pw_gecos);
55 QStringList gecosList = gecos.split(QLatin1Char(
','));
57 while (gecosList.size() < 4)
62 loginName = QString::fromLocal8Bit(p->pw_name);
67 homeDir = QString::fromLocal8Bit(p->pw_dir);
68 shell = QString::fromLocal8Bit(p->pw_shell);
76 uid_t _uid = ::getuid(), _euid;
78 d =
new Private( ::getpwuid( _euid ) );
80 d =
new Private( qgetenv(
"LOGNAME" ) );
82 d =
new Private( qgetenv(
"USER" ) );
84 d =
new Private( ::getpwuid( _uid ) );
90 : d(new Private( ::getpwuid( _uid ) ))
95 : d(new Private( name.toLocal8Bit().data() ))
100 : d(new Private( name ))
105 : d(new Private( p ))
121 return (
uid() == user.
uid()) && (