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, 8 insertions, 3 deletions
diff --git a/noncore/settings/usermanager/passwd.cpp b/noncore/settings/usermanager/passwd.cpp index 1e98778..f8e6d17 100644 --- a/noncore/settings/usermanager/passwd.cpp +++ b/noncore/settings/usermanager/passwd.cpp @@ -186,52 +186,57 @@ bool Passwd::deleteUser(QRegExp &userRegExp, bool delGroup) { return true; } } return false; } // Delete a user by login, and optionally also delete group. bool Passwd::delUser(const char *username, bool delGroup) { QRegExp userRegExp(QString("^%1\\:").arg(username)); return deleteUser(userRegExp,delGroup); } // Delete a user by uid, and optionally also delete group. bool Passwd::delUser(int uid, bool delGroup) { QRegExp userRegExp(QString(":%1\\:").arg(uid)); return deleteUser(userRegExp,delGroup); } // Locate a group in the groupStringList, fill out the gr_* variables and return "true" if found. bool Passwd::searchGroup(QRegExp &groupRegExp) { QStringList tempStringList(groupStringList.grep(groupRegExp)); if((tempStringList.isEmpty())) { return false; } else { - groupString=(*(tempStringList.begin())); - splitGroupEntry(groupString); + for(QStringList::Iterator it=tempStringList.begin(); it!=tempStringList.end(); it++) { + groupString=*it; + if(!groupString.find(QRegExp("^#"),0)) { // Skip commented lines. + splitGroupEntry(groupString); + return true; + } + } } - return true; + return false; } // Find a group by groupname. bool Passwd::findGroup(const char *groupname) { QRegExp groupRegExp(QString("^%1\\:").arg(groupname)); return searchGroup(groupRegExp); } // Find a group by gid. bool Passwd::findGroup(int gid) { QRegExp groupRegExp(QString(":%1\\:").arg(gid)); return searchGroup(groupRegExp); } // Add a group to groupStringList bool Passwd::addGroup(QString gr_name, int gr_gid) { QString tempString; tempString=gr_name+":*:"+QString::number(gr_gid)+":"; groupStringList.append(tempString); return 1; } // Update fields for a group in groupStringList, take info from the gr_* variables. bool Passwd::updateGroup(int gid) { |