- added 2 more ORE tags (to be reviewed) in the replace/conflict sync code

- code cleanup
This commit is contained in:
Aurelien Foret 2006-01-11 12:56:38 +00:00
parent 0938d37b30
commit 36730a711b
1 changed files with 15 additions and 15 deletions

View File

@ -485,6 +485,7 @@ int sync_prepare(pmtrans_t *trans, pmdb_t *db_local, PMList *dbs_sync, PMList **
trans->packages = _alpm_list_remove(trans->packages, sync, ptr_cmp, (void **)&spkg); trans->packages = _alpm_list_remove(trans->packages, sync, ptr_cmp, (void **)&spkg);
FREESYNC(spkg); FREESYNC(spkg);
_alpm_log(PM_LOG_DEBUG, "removing %s from target list", rmpkg); _alpm_log(PM_LOG_DEBUG, "removing %s from target list", rmpkg);
/* ORE - shouldn't "solved" be set to 1 here */
} }
} }
solved = 1; solved = 1;
@ -505,10 +506,9 @@ int sync_prepare(pmtrans_t *trans, pmdb_t *db_local, PMList *dbs_sync, PMList **
QUESTION(trans, PM_TRANS_CONV_CONFLICT_PKG, miss->target, miss->depend.name, NULL, &doremove); QUESTION(trans, PM_TRANS_CONV_CONFLICT_PKG, miss->target, miss->depend.name, NULL, &doremove);
asked = pm_list_add(asked, strdup(miss->depend.name)); asked = pm_list_add(asked, strdup(miss->depend.name));
if(doremove) { if(doremove) {
PMList *l;
/* remove miss->depend.name */ /* remove miss->depend.name */
for(l = trans->packages; l; l = l->next) { for(k = trans->packages; k; k = k->next) {
pmsyncpkg_t *s = l->data; pmsyncpkg_t *s = k->data;
if(!strcmp(s->pkg->name, miss->target)) { if(!strcmp(s->pkg->name, miss->target)) {
pmpkg_t *q = pkg_new(miss->depend.name, NULL); pmpkg_t *q = pkg_new(miss->depend.name, NULL);
if(s->type == PM_SYNC_TYPE_REPLACE) { if(s->type == PM_SYNC_TYPE_REPLACE) {
@ -518,8 +518,8 @@ int sync_prepare(pmtrans_t *trans, pmdb_t *db_local, PMList *dbs_sync, PMList **
/* switch this sync type to REPLACE */ /* switch this sync type to REPLACE */
s->type = PM_SYNC_TYPE_REPLACE; s->type = PM_SYNC_TYPE_REPLACE;
/* add miss->depend.name to the replaces list */ /* add miss->depend.name to the replaces list */
k = pm_list_add(NULL, q); /* ORE - isn't the next line overwriting s->data? */
s->data = k; s->data = pm_list_add(NULL, q);
} }
} }
} }
@ -588,18 +588,18 @@ int sync_prepare(pmtrans_t *trans, pmdb_t *db_local, PMList *dbs_sync, PMList **
} }
} }
} }
if(list) {
_alpm_log(PM_LOG_DEBUG, "checking dependencies of packages designated for removal"); _alpm_log(PM_LOG_FLOW1, "checking dependencies of packages designated for removal");
deps = checkdeps(db_local, PM_TRANS_TYPE_REMOVE, list); deps = checkdeps(db_local, PM_TRANS_TYPE_REMOVE, list);
if(deps) { if(deps) {
if(data) { if(data) {
*data = deps; *data = deps;
}
pm_errno = PM_ERR_UNSATISFIED_DEPS;
goto error;
} }
pm_errno = PM_ERR_UNSATISFIED_DEPS; FREELISTPTR(list);
goto error;
} }
FREELISTPTR(list);
/*EVENT(trans, PM_TRANS_EVT_CHECKDEPS_DONE, NULL, NULL);*/ /*EVENT(trans, PM_TRANS_EVT_CHECKDEPS_DONE, NULL, NULL);*/
} }