diff options
Diffstat (limited to 'lib/libalpm')
| -rw-r--r-- | lib/libalpm/sync.c | 30 | 
1 files changed, 15 insertions, 15 deletions
| diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c index 5f8d3c8a..20bb5181 100644 --- a/lib/libalpm/sync.c +++ b/lib/libalpm/sync.c @@ -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);  											FREESYNC(spkg);  											_alpm_log(PM_LOG_DEBUG, "removing %s from target list", rmpkg); +											/* ORE - shouldn't "solved" be set to 1 here */  										}  									}  									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);  								asked = pm_list_add(asked, strdup(miss->depend.name));  								if(doremove) { -									PMList *l;  									/* remove miss->depend.name */ -									for(l = trans->packages; l; l = l->next) { -										pmsyncpkg_t *s = l->data; +									for(k = trans->packages; k; k = k->next) { +										pmsyncpkg_t *s = k->data;  										if(!strcmp(s->pkg->name, miss->target)) {  											pmpkg_t *q = pkg_new(miss->depend.name, NULL);  											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 */  												s->type = PM_SYNC_TYPE_REPLACE;  												/* add miss->depend.name to the replaces list */ -												k = pm_list_add(NULL, q); -												s->data = k; +												/* ORE - isn't the next line overwriting s->data? */ +												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 **  				}  			}  		} - -		_alpm_log(PM_LOG_DEBUG, "checking dependencies of packages designated for removal"); -		deps = checkdeps(db_local, PM_TRANS_TYPE_REMOVE, list); -		if(deps) { -			if(data) { -				*data = deps; +		if(list) { +			_alpm_log(PM_LOG_FLOW1, "checking dependencies of packages designated for removal"); +			deps = checkdeps(db_local, PM_TRANS_TYPE_REMOVE, list); +			if(deps) { +				if(data) { +					*data = deps; +				} +				pm_errno = PM_ERR_UNSATISFIED_DEPS; +				goto error;  			} -			pm_errno = PM_ERR_UNSATISFIED_DEPS; -			goto error; +			FREELISTPTR(list);  		} - -		FREELISTPTR(list);  		/*EVENT(trans, PM_TRANS_EVT_CHECKDEPS_DONE, NULL, NULL);*/  	} | 
