The following commit has been merged in the master branch:
commit 9114e9d298a84dd7f1b1a27b4a377ddd4e7c2f8b
Author: Guillem Jover <[email protected]>
Date:   Thu Feb 25 23:38:51 2010 +0100

    Use while () instead for () when using package iterators
    
    The code looks more balanced this way.

diff --git a/dselect/pkglist.cc b/dselect/pkglist.cc
index e2b2492..fd90dcf 100644
--- a/dselect/pkglist.cc
+++ b/dselect/pkglist.cc
@@ -387,9 +387,9 @@ packagelist::packagelist(keybindings *kb) : baselist(kb) {
   struct pkgiterator *iter;
   struct pkginfo *pkg;
   
-  for (iter=iterpkgstart(), nitems=0;
-       (pkg=iterpkgnext(iter));
-       ) {
+  nitems = 0;
+  iter = iterpkgstart();
+  while ((pkg = iterpkgnext(iter))) {
     struct perpackagestate *state= &datatable[nitems];
     state->pkg= pkg;
     if (pkg->status == pkginfo::stat_notinstalled &&
diff --git a/src/depcon.c b/src/depcon.c
index b64e358..beede86 100644
--- a/src/depcon.c
+++ b/src/depcon.c
@@ -158,7 +158,8 @@ findbreakcycle(struct pkginfo *pkg)
   struct pkginfo *tpkg;
        
   /* Clear the visited flag of all packages before we traverse them. */
-  for (iter = iterpkgstart(); (tpkg=iterpkgnext(iter)); ) {
+  iter = iterpkgstart();
+  while ((tpkg = iterpkgnext(iter))) {
     tpkg->clientdata->color = white;
   }
   iterpkgend(iter);
diff --git a/src/enquiry.c b/src/enquiry.c
index 83714a0..6441082 100644
--- a/src/enquiry.c
+++ b/src/enquiry.c
@@ -332,9 +332,9 @@ void predeppackage(const char *const *argv) {
   modstatdb_init(admindir,msdbrw_readonly);
   clear_istobes(); /* We use clientdata->istobe to detect loops */
 
-  for (it = iterpkgstart(), dep = NULL;
-       !dep && (pkg=iterpkgnext(it));
-       ) {
+  dep = NULL;
+  it = iterpkgstart();
+  while (!dep && (pkg = iterpkgnext(it))) {
     if (pkg->want != want_install) continue; /* Ignore packages user doesn't 
want */
     if (!pkg->files) continue; /* Ignore packages not available */
     pkg->clientdata->istobe= itb_preinstall;

-- 
dpkg's main repository


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to