Diffstat (limited to 'noncore/settings/usermanager/passwd.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/usermanager/passwd.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/noncore/settings/usermanager/passwd.cpp b/noncore/settings/usermanager/passwd.cpp index 0a2bfba..1e98778 100644 --- a/noncore/settings/usermanager/passwd.cpp +++ b/noncore/settings/usermanager/passwd.cpp | |||
@@ -122,3 +122,3 @@ void Passwd::splitGroupEntry(QString &groupString) { | |||
122 | gr_gid=(*it++).toInt(); | 122 | gr_gid=(*it++).toInt(); |
123 | gr_mem=QStringList::split(" ",(*it++)); | 123 | gr_mem=QStringList::split(",",(*it++)); |
124 | } | 124 | } |
@@ -241,5 +241,6 @@ bool Passwd::updateGroup(int gid) { | |||
241 | *it=QString(gr_name+":*:"+QString::number(gr_gid)+":"); | 241 | *it=QString(gr_name+":*:"+QString::number(gr_gid)+":"); |
242 | for(QStringList::Iterator member=gr_mem.begin(); member!=gr_mem.end(); ++member) { | 242 | for(QStringList::Iterator member=gr_mem.begin(); member!=gr_mem.end();) { |
243 | *it+=*member; | 243 | *it+=*member; |
244 | *it+=" "; | 244 | ++member; |
245 | if(member!=gr_mem.end()) *it+=","; | ||
245 | } | 246 | } |
@@ -277,3 +278,5 @@ bool Passwd::addGroupMember(QString groupname, QString member) { | |||
277 | if(!(findGroup(groupname))) return false; | 278 | if(!(findGroup(groupname))) return false; |
278 | gr_mem << member; | 279 | QRegExp memberRegExp(QString("^%1$").arg(member)); |
280 | QStringList templist=gr_mem.grep(memberRegExp); | ||
281 | if(templist.isEmpty()) gr_mem << member; | ||
279 | if(!(updateGroup(gr_gid))) return false; | 282 | if(!(updateGroup(gr_gid))) return false; |