Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=3f22bae5c93ec1f39c56188455b9a12a3a096c33
commit 3f22bae5c93ec1f39c56188455b9a12a3a096c33 Author: Michel Hermier <[email protected]> Date: Fri Aug 22 15:46:41 2014 +0200 libpacman: A little more of list changes. diff --git a/lib/libpacman/package/packagecache.cpp b/lib/libpacman/package/packagecache.cpp index 7d27ae2..4fc035f 100644 --- a/lib/libpacman/package/packagecache.cpp +++ b/lib/libpacman/package/packagecache.cpp @@ -59,7 +59,7 @@ int _pacman_packagecache_clean(int level) } closedir(dir); - for(i = cache; i; i = i->next()) { + for(auto i = cache->begin(), end = cache->end(); i; i = i->next()) { char *str = f_stringlistitem_to_str(i); char name[PKG_NAME_LEN], version[PKG_VERSION_LEN]; @@ -75,7 +75,7 @@ int _pacman_packagecache_clean(int level) clean = _pacman_stringlist_append(clean, str); continue; } - for(j = i->next(); j; j = j->next()) { + for(auto j = i->next(); j != end; j = j->next()) { char *s = f_stringlistitem_to_str(j); char n[PKG_NAME_LEN], v[PKG_VERSION_LEN]; @@ -98,7 +98,7 @@ int _pacman_packagecache_clean(int level) } FREELIST(cache); - for(i = clean; i; i = i->next()) { + for(auto i = clean->begin(), end = clean->end(); i; i = i->next()) { char path[PATH_MAX]; snprintf(path, PATH_MAX, "%s/%s", dirpath, f_stringlistitem_to_str(i)); diff --git a/lib/libpacman/trans.cpp b/lib/libpacman/trans.cpp index 31812a4..017f74e 100644 --- a/lib/libpacman/trans.cpp +++ b/lib/libpacman/trans.cpp @@ -1786,7 +1786,8 @@ int __pmtrans_t::commit(FPtrList **data) /* update dependency packages' REQUIREDBY fields */ _pacman_log(PM_LOG_FLOW2, _("updating dependency packages 'requiredby' fields")); - for(lp = pkg_local->depends(); lp; lp = lp->next()) { + auto depends = pkg_local->depends(); + for(auto lp = depends->begin(), lp_end = depends->end(); lp != lp_end; lp = lp->next()) { Package *depinfo = NULL; pmdepend_t depend; char *data; @@ -1849,7 +1850,8 @@ int __pmtrans_t::commit(FPtrList **data) /* Update the requiredby field by scanning the whole database * looking for packages depending on the package to add */ - for(lp = _pacman_db_get_pkgcache(db_local); lp; lp = lp->next()) { + auto cache = _pacman_db_get_pkgcache(db_local); + for(auto lp = cache->begin(), lp_end = cache->end(); lp != lp_end; lp = lp->next()) { Package *tmpp = f_ptrlistitem_data(lp); FPtrList *tmppm = NULL; if(tmpp == NULL) { @@ -1887,7 +1889,8 @@ int __pmtrans_t::commit(FPtrList **data) if(pkg_new->depends()) { _pacman_log(PM_LOG_FLOW2, _("updating dependency packages 'requiredby' fields")); } - for(lp = pkg_new->depends(); lp; lp = lp->next()) { + auto depends = pkg_new->depends(); + for(auto lp = depends->begin(), lp_end = depends->end(); lp; lp = lp->next()) { Package *depinfo; pmdepend_t depend; if(_pacman_splitdep(f_stringlistitem_to_str(lp), &depend)) { _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
