FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > ArchLinux > ArchLinux Pacman Development

 
 
LinkBack Thread Tools
 
Old 03-06-2009, 03:17 PM
Nagy Gabor
 
Default Fix error handling in _alpm_resolvedeps

>From 816e0ec31278ff9e94b0d8dcdea24dadb5e4fa1b Mon Sep 17 00:00:00 2001
From: Nagy Gabor <ngaba@bibl.u-szeged.hu>
Date: Fri, 6 Mar 2009 17:02:19 +0100
Subject: [PATCH] Fix error handling in _alpm_resolvedeps

Now resolvedeps is just a helper function for sync_prepare, so we set
pm_errno in sync_prepare. We free *data list, when user decided to remove
unresolvable targets.

Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu>
---
lib/libalpm/deps.c | 1 -
lib/libalpm/sync.c | 7 ++++++-
2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/lib/libalpm/deps.c b/lib/libalpm/deps.c
index 36f4d35..7a46692 100644
--- a/lib/libalpm/deps.c
+++ b/lib/libalpm/deps.c
@@ -635,7 +635,6 @@ int _alpm_resolvedeps(pmdb_t *local, alpm_list_t *dbs_sync, pmpkg_t *pkg,
/* find a satisfier package in the given repositories */
pmpkg_t *spkg = _alpm_resolvedep(missdep, dbs_sync, *packages, 0);
if(!spkg) {
- pm_errno = PM_ERR_UNSATISFIED_DEPS;
char *missdepstring = alpm_dep_compute_string(missdep);
_alpm_log(PM_LOG_WARNING, _("cannot resolve "%s", a dependency of "%s"
"),
missdepstring, tpkg->name);
diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c
index 84a18e2..14cf42e 100644
--- a/lib/libalpm/sync.c
+++ b/lib/libalpm/sync.c
@@ -456,9 +456,14 @@ int _alpm_sync_prepare(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t *dbs_sync
dependency-reordered list below */
alpm_list_free(unresolvable);
unresolvable = NULL;
+ if(data) {
+ alpm_list_free_inner(*data, (alpm_list_fn_free)_alpm_depmiss_free);
+ alpm_list_free(*data);
+ *data = NULL;
+ }
}
else {
- /* pm_errno is set by resolvedeps */
+ pm_errno = PM_ERR_UNSATISFIED_DEPS;
ret = -1;
goto cleanup;
}
--
1.6.0.3



_______________________________________________
pacman-dev mailing list
pacman-dev@archlinux.org
http://www.archlinux.org/mailman/listinfo/pacman-dev
 

Thread Tools




All times are GMT. The time now is 10:20 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org