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

List:       kde-commits
Subject:    kdebase/kcontrol/kdm
From:       Oswald Buddenhagen <ossi () kde ! org>
Date:       2004-08-27 13:56:29
Message-ID: 20040827135629.4885C23DB () office ! kde ! org
[Download RAW message or body]

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();


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

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