[pacman-dev] pmdepend_t / pmdepmissing_t accessors
Xavier
shiningxc at gmail.com
Mon Jul 16 08:11:00 EDT 2007
I found the accessors for these two types were rather odd.
There were only accessors for pmdepmissing_t, but half of them
were actually accessors for the pmdepend_t field in the pmdepmissing_t
structure.
I thought it would make more sense to have accessors for each fields, but I
could be wrong, so I'll let you decide :)
>From 8de572b00ee0a6a3fbf9cd115805bcb17910cf9a Mon Sep 17 00:00:00 2001
From: Chantry Xavier <shiningxc at gmail.com>
Date: Mon, 16 Jul 2007 14:08:48 +0200
Subject: [PATCH] new pmdepend_t / pmdepmissing_t accessors.
Signed-off-by: Chantry Xavier <shiningxc at gmail.com>
---
lib/libalpm/alpm.h | 14 ++++++++------
lib/libalpm/deps.c | 30 +++++++++++++++---------------
src/pacman/add.c | 16 +++++++++-------
src/pacman/deptest.c | 4 ++--
src/pacman/remove.c | 5 +++--
src/pacman/sync.c | 17 +++++++++--------
6 files changed, 46 insertions(+), 40 deletions(-)
diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h
index 8181f2e..62969a5 100644
--- a/lib/libalpm/alpm.h
+++ b/lib/libalpm/alpm.h
@@ -353,12 +353,14 @@ typedef enum _pmdeptype_t {
pmdepend_t *alpm_splitdep(const char *depstring);
int alpm_depcmp(pmpkg_t *pkg, pmdepend_t *dep);
-const char *alpm_dep_get_target(pmdepmissing_t *miss);
-pmdeptype_t alpm_dep_get_type(pmdepmissing_t *miss);
-pmdepmod_t alpm_dep_get_mod(pmdepmissing_t *miss);
-const char *alpm_dep_get_name(pmdepmissing_t *miss);
-const char *alpm_dep_get_version(pmdepmissing_t *miss);
-const char *alpm_depend_get_name(pmdepend_t *dep);
+const char *alpm_miss_get_target(pmdepmissing_t *miss);
+pmdeptype_t alpm_miss_get_type(pmdepmissing_t *miss);
+pmdepend_t *alpm_miss_get_dep(pmdepmissing_t *miss);
+
+
+pmdepmod_t alpm_dep_get_mod(pmdepend_t *dep);
+const char *alpm_dep_get_name(pmdepend_t *dep);
+const char *alpm_dep_get_version(pmdepend_t *dep);
/*
* File conflicts
diff --git a/lib/libalpm/deps.c b/lib/libalpm/deps.c
index fd0b2e5..30c505d 100644
--- a/lib/libalpm/deps.c
+++ b/lib/libalpm/deps.c
@@ -734,7 +734,7 @@ error:
return(-1);
}
-const char SYMEXPORT *alpm_dep_get_target(pmdepmissing_t *miss)
+const char SYMEXPORT *alpm_miss_get_target(pmdepmissing_t *miss)
{
ALPM_LOG_FUNC;
@@ -745,7 +745,7 @@ const char SYMEXPORT *alpm_dep_get_target(pmdepmissing_t *miss)
return miss->target;
}
-pmdeptype_t SYMEXPORT alpm_dep_get_type(pmdepmissing_t *miss)
+pmdeptype_t SYMEXPORT alpm_miss_get_type(pmdepmissing_t *miss)
{
ALPM_LOG_FUNC;
@@ -756,40 +756,40 @@ pmdeptype_t SYMEXPORT alpm_dep_get_type(pmdepmissing_t *miss)
return miss->type;
}
-pmdepmod_t SYMEXPORT alpm_dep_get_mod(pmdepmissing_t *miss)
+pmdepend_t SYMEXPORT *alpm_miss_get_dep(pmdepmissing_t *miss)
{
ALPM_LOG_FUNC;
/* Sanity checks */
- ASSERT(handle != NULL, return(-1));
- ASSERT(miss != NULL, return(-1));
+ ASSERT(handle != NULL, return(NULL));
+ ASSERT(miss != NULL, return(NULL));
- return miss->depend.mod;
+ return &miss->depend;
}
-const char SYMEXPORT *alpm_dep_get_name(pmdepmissing_t *miss)
+pmdepmod_t SYMEXPORT alpm_dep_get_mod(pmdepend_t *dep)
{
ALPM_LOG_FUNC;
/* Sanity checks */
- ASSERT(handle != NULL, return(NULL));
- ASSERT(miss != NULL, return(NULL));
+ ASSERT(handle != NULL, return(-1));
+ ASSERT(dep != NULL, return(-1));
- return miss->depend.name;
+ return dep->mod;
}
-const char SYMEXPORT *alpm_dep_get_version(pmdepmissing_t *miss)
+const char SYMEXPORT *alpm_dep_get_name(pmdepend_t *dep)
{
ALPM_LOG_FUNC;
/* Sanity checks */
ASSERT(handle != NULL, return(NULL));
- ASSERT(miss != NULL, return(NULL));
+ ASSERT(dep != NULL, return(NULL));
- return miss->depend.version;
+ return dep->name;
}
-const char SYMEXPORT *alpm_depend_get_name(pmdepend_t *dep)
+const char SYMEXPORT *alpm_dep_get_version(pmdepend_t *dep)
{
ALPM_LOG_FUNC;
@@ -797,7 +797,7 @@ const char SYMEXPORT *alpm_depend_get_name(pmdepend_t *dep)
ASSERT(handle != NULL, return(NULL));
ASSERT(dep != NULL, return(NULL));
- return dep->name;
+ return dep->version;
}
/* vim: set ts=2 sw=2 noet: */
diff --git a/src/pacman/add.c b/src/pacman/add.c
index 71578f6..67633e9 100644
--- a/src/pacman/add.c
+++ b/src/pacman/add.c
@@ -136,23 +136,24 @@ int pacman_add(alpm_list_t *targets)
case PM_ERR_UNSATISFIED_DEPS:
for(i = data; i; i = alpm_list_next(i)) {
pmdepmissing_t *miss = alpm_list_getdata(i);
+ pmdepend_t *dep = alpm_miss_get_dep(miss);
/* TODO indicate if the error was a virtual package or not:
* :: %s: requires %s, provided by %s
*/
- printf(_(":: %s: requires %s"), alpm_dep_get_target(miss),
- alpm_dep_get_name(miss));
- switch(alpm_dep_get_mod(miss)) {
+ printf(_(":: %s: requires %s\n"), alpm_miss_get_target(miss),
+ alpm_dep_get_name(dep));
+ switch(alpm_dep_get_mod(dep)) {
case PM_DEP_MOD_ANY:
break;
case PM_DEP_MOD_EQ:
- printf("=%s", alpm_dep_get_version(miss));
+ printf("=%s", alpm_dep_get_version(dep));
break;
case PM_DEP_MOD_GE:
- printf(">=%s", alpm_dep_get_version(miss));
+ printf(">=%s", alpm_dep_get_version(dep));
break;
case PM_DEP_MOD_LE:
- printf("<=%s", alpm_dep_get_version(miss));
+ printf("<=%s", alpm_dep_get_version(dep));
break;
}
printf("\n");
@@ -161,8 +162,9 @@ int pacman_add(alpm_list_t *targets)
case PM_ERR_CONFLICTING_DEPS:
for(i = data; i; i = alpm_list_next(i)) {
pmdepmissing_t *miss = alpm_list_getdata(i);
+ pmdepend_t *dep = alpm_miss_get_dep(miss);
printf(_(":: %s: conflicts with %s"),
- alpm_dep_get_target(miss), alpm_dep_get_name(miss));
+ alpm_miss_get_target(miss), alpm_dep_get_name(dep));
}
break;
case PM_ERR_FILE_CONFLICTS:
diff --git a/src/pacman/deptest.c b/src/pacman/deptest.c
index 0f149b2..7f89f6d 100644
--- a/src/pacman/deptest.c
+++ b/src/pacman/deptest.c
@@ -56,13 +56,13 @@ int pacman_deptest(alpm_list_t *targets)
dep = alpm_splitdep(target);
pkg = alpm_db_get_pkg(alpm_option_get_localdb(),
- alpm_depend_get_name(dep));
+ alpm_dep_get_name(dep));
if(pkg && alpm_depcmp(pkg, dep)) {
found = 1;
} else {
/* not found, can we find anything that provides this in the local DB? */
provides = alpm_db_whatprovides(alpm_option_get_localdb(),
- alpm_depend_get_name(dep));
+ alpm_dep_get_name(dep));
for(j = provides; j; j = alpm_list_next(j)) {
pmpkg_t *pkg;
pkg = alpm_list_getdata(j);
diff --git a/src/pacman/remove.c b/src/pacman/remove.c
index 0b6b4ce..e60d3e8 100644
--- a/src/pacman/remove.c
+++ b/src/pacman/remove.c
@@ -128,8 +128,9 @@ int pacman_remove(alpm_list_t *targets)
case PM_ERR_UNSATISFIED_DEPS:
for(i = data; i; i = alpm_list_next(i)) {
pmdepmissing_t *miss = alpm_list_getdata(i);
- printf(_(":: %s depends on %s\n"), alpm_dep_get_target(miss),
- alpm_dep_get_name(miss));
+ pmdepend_t *dep = alpm_miss_get_dep(miss);
+ printf(_(":: %s: requires %s\n"), alpm_miss_get_target(miss),
+ alpm_dep_get_name(dep));
}
alpm_list_free(data);
break;
diff --git a/src/pacman/sync.c b/src/pacman/sync.c
index 7729370..800738d 100644
--- a/src/pacman/sync.c
+++ b/src/pacman/sync.c
@@ -650,19 +650,20 @@ int pacman_sync(alpm_list_t *targets)
case PM_ERR_UNSATISFIED_DEPS:
for(i = data; i; i = alpm_list_next(i)) {
pmdepmissing_t *miss = alpm_list_getdata(i);
- printf(_(":: %s depends on %s\n"), alpm_dep_get_target(miss),
- alpm_dep_get_name(miss));
- switch(alpm_dep_get_mod(miss)) {
+ pmdepend_t *dep = alpm_miss_get_dep(miss);
+ printf(_(":: %s: requires %s\n"), alpm_miss_get_target(miss),
+ alpm_dep_get_name(dep));
+ switch(alpm_dep_get_mod(dep)) {
case PM_DEP_MOD_ANY:
break;
case PM_DEP_MOD_EQ:
- printf("=%s", alpm_dep_get_version(miss));
+ printf("=%s", alpm_dep_get_version(dep));
break;
case PM_DEP_MOD_GE:
- printf(">=%s", alpm_dep_get_version(miss));
+ printf(">=%s", alpm_dep_get_version(dep));
break;
case PM_DEP_MOD_LE:
- printf("<=%s", alpm_dep_get_version(miss));
+ printf("<=%s", alpm_dep_get_version(dep));
break;
}
printf("\n");
@@ -671,9 +672,9 @@ int pacman_sync(alpm_list_t *targets)
case PM_ERR_CONFLICTING_DEPS:
for(i = data; i; i = alpm_list_next(i)) {
pmdepmissing_t *miss = alpm_list_getdata(i);
-
+ pmdepend_t *dep = alpm_miss_get_dep(miss);
printf(_(":: %s: conflicts with %s"),
- alpm_dep_get_target(miss), alpm_dep_get_name(miss));
+ alpm_miss_get_target(miss), alpm_dep_get_name(dep));
}
break;
default:
--
1.5.2.2
More information about the pacman-dev
mailing list