From kde-commits Fri Aug 27 13:56:29 2004 From: Oswald Buddenhagen Date: Fri, 27 Aug 2004 13:56:29 +0000 To: kde-commits Subject: kdebase/kcontrol/kdm Message-Id: <20040827135629.4885C23DB () office ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=109361499728773 CVS commit by ossi: eliminate per-user groups M +12 -5 main.cpp 1.75 --- kdebase/kcontrol/kdm/main.cpp #1.74:1.75 @@ -122,5 +122,9 @@ KDModule::KDModule(QWidget *parent, cons for (setgrent(); (grp = getgrent()); ) { QString gn( QFile::decodeName( grp->gr_name ) ); + bool delme = false; if ((tgmapi = tgmap.find( grp->gr_gid )) != tgmap.end()) { + if ((*tgmapi).count() == 1 && (*tgmapi).first() == gn) + delme = true; + else for (QStringList::ConstIterator it = (*tgmapi).begin(); it != (*tgmapi).end(); ++it) @@ -128,5 +132,8 @@ KDModule::KDModule(QWidget *parent, cons tgmap.remove( tgmapi ); } - for (; *grp->gr_mem; grp->gr_mem++) { + if (!*grp->gr_mem || + (delme && !grp->gr_mem[1] && gn == QFile::decodeName( *grp->gr_mem ))) + continue; + do { QString un( QFile::decodeName( *grp->gr_mem ) ); if ((umapi = usermap.find( un )) != usermap.end()) { @@ -135,5 +142,5 @@ KDModule::KDModule(QWidget *parent, cons } else kdWarning() << "group '" << gn << "' contains unknown user '" << un << "'" << endl; - } + } while (*++grp->gr_mem); } endgrent();