summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2011-06-16 18:27:44 +0200
committerDan McGee <dan@archlinux.org>2011-06-16 18:57:06 +0200
commitbdf00d3dbd19c3def6127f3d372d630930a26abb (patch)
treea6265c2db858d1981c2f8ddc7a394ee3416279e8
parent1cd6515af0ae5d1c3dabd30749a37cfefa7dc4f5 (diff)
downloadpacman-bdf00d3dbd19c3def6127f3d372d630930a26abb.tar.gz
pacman-bdf00d3dbd19c3def6127f3d372d630930a26abb.tar.xz
Make pmfileconflict_t type public
This removes the need to write accessor methods for every type we have, and simplifies the API. Any type that doesn't need magic* can be converted in this fashion to make it easier for frontend applications to use, as well as make it less of a pain to introduce new such structs in the future. * "magic" meaning something like pmpkg_t where values can be lazy loaded. Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r--lib/libalpm/alpm.h36
-rw-r--r--lib/libalpm/conflict.c24
-rw-r--r--lib/libalpm/conflict.h7
-rw-r--r--src/pacman/sync.c9
-rw-r--r--src/pacman/upgrade.c9
5 files changed, 25 insertions, 60 deletions
diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h
index bfc01e5c..4c44a361 100644
--- a/lib/libalpm/alpm.h
+++ b/lib/libalpm/alpm.h
@@ -50,7 +50,7 @@ extern "C" {
*/
/**
- * Install reasons
+ * Install reasons.
* Why the package was installed.
*/
typedef enum _pmpkgreason_t {
@@ -61,6 +61,16 @@ typedef enum _pmpkgreason_t {
} pmpkgreason_t;
/**
+ * File conflict type.
+ * Whether the conflict results from a file existing on the filesystem, or with
+ * another target in the transaction.
+ */
+typedef enum _pmfileconflicttype_t {
+ PM_FILECONFLICT_TARGET = 1,
+ PM_FILECONFLICT_FILESYSTEM
+} pmfileconflicttype_t;
+
+/**
* GPG signature verification options
*/
typedef enum _pgp_verify_t {
@@ -83,7 +93,14 @@ typedef struct __pmtrans_t pmtrans_t;
typedef struct __pmdepend_t pmdepend_t;
typedef struct __pmdepmissing_t pmdepmissing_t;
typedef struct __pmconflict_t pmconflict_t;
-typedef struct __pmfileconflict_t pmfileconflict_t;
+
+/** File conflict */
+typedef struct _pmfileconflict_t {
+ char *target;
+ pmfileconflicttype_t type;
+ char *file;
+ char *ctarget;
+} pmfileconflict_t;
/*
* Logging facilities
@@ -944,21 +961,6 @@ char *alpm_dep_compute_string(const pmdepend_t *dep);
/** @} */
-/** @addtogroup alpm_api_fileconflicts File Conflicts Functions
- * Functions to manipulate file conflict information.
- * @{
- */
-
-typedef enum _pmfileconflicttype_t {
- PM_FILECONFLICT_TARGET = 1,
- PM_FILECONFLICT_FILESYSTEM
-} pmfileconflicttype_t;
-
-const char *alpm_fileconflict_get_target(pmfileconflict_t *conflict);
-pmfileconflicttype_t alpm_fileconflict_get_type(pmfileconflict_t *conflict);
-const char *alpm_fileconflict_get_file(pmfileconflict_t *conflict);
-const char *alpm_fileconflict_get_ctarget(pmfileconflict_t *conflict);
-
/** @} */
/*
diff --git a/lib/libalpm/conflict.c b/lib/libalpm/conflict.c
index a6bbe093..d9a0b7ca 100644
--- a/lib/libalpm/conflict.c
+++ b/lib/libalpm/conflict.c
@@ -565,28 +565,4 @@ const char SYMEXPORT *alpm_conflict_get_reason(pmconflict_t *conflict)
return conflict->reason;
}
-const char SYMEXPORT *alpm_fileconflict_get_target(pmfileconflict_t *conflict)
-{
- ASSERT(conflict != NULL, return NULL);
- return conflict->target;
-}
-
-pmfileconflicttype_t SYMEXPORT alpm_fileconflict_get_type(pmfileconflict_t *conflict)
-{
- ASSERT(conflict != NULL, return -1);
- return conflict->type;
-}
-
-const char SYMEXPORT *alpm_fileconflict_get_file(pmfileconflict_t *conflict)
-{
- ASSERT(conflict != NULL, return NULL);
- return conflict->file;
-}
-
-const char SYMEXPORT *alpm_fileconflict_get_ctarget(pmfileconflict_t *conflict)
-{
- ASSERT(conflict != NULL, return NULL);
- return conflict->ctarget;
-}
-
/* vim: set ts=2 sw=2 noet: */
diff --git a/lib/libalpm/conflict.h b/lib/libalpm/conflict.h
index 7a3784a2..a9d3e27b 100644
--- a/lib/libalpm/conflict.h
+++ b/lib/libalpm/conflict.h
@@ -30,13 +30,6 @@ struct __pmconflict_t {
char *reason;
};
-struct __pmfileconflict_t {
- char *target;
- pmfileconflicttype_t type;
- char *file;
- char *ctarget;
-};
-
pmconflict_t *_alpm_conflict_dup(const pmconflict_t *conflict);
void _alpm_conflict_free(pmconflict_t *conflict);
alpm_list_t *_alpm_innerconflicts(pmhandle_t *handle, alpm_list_t *packages);
diff --git a/src/pacman/sync.c b/src/pacman/sync.c
index 37b9d6e3..2c21d573 100644
--- a/src/pacman/sync.c
+++ b/src/pacman/sync.c
@@ -849,17 +849,14 @@ static int sync_trans(alpm_list_t *targets)
case PM_ERR_FILE_CONFLICTS:
for(i = data; i; i = alpm_list_next(i)) {
pmfileconflict_t *conflict = alpm_list_getdata(i);
- switch(alpm_fileconflict_get_type(conflict)) {
+ switch(conflict->type) {
case PM_FILECONFLICT_TARGET:
printf(_("%s exists in both '%s' and '%s'\n"),
- alpm_fileconflict_get_file(conflict),
- alpm_fileconflict_get_target(conflict),
- alpm_fileconflict_get_ctarget(conflict));
+ conflict->file, conflict->target, conflict->ctarget);
break;
case PM_FILECONFLICT_FILESYSTEM:
printf(_("%s: %s exists in filesystem\n"),
- alpm_fileconflict_get_target(conflict),
- alpm_fileconflict_get_file(conflict));
+ conflict->target, conflict->file);
break;
}
}
diff --git a/src/pacman/upgrade.c b/src/pacman/upgrade.c
index c0466456..37cf7007 100644
--- a/src/pacman/upgrade.c
+++ b/src/pacman/upgrade.c
@@ -173,17 +173,14 @@ int pacman_upgrade(alpm_list_t *targets)
case PM_ERR_FILE_CONFLICTS:
for(i = data; i; i = alpm_list_next(i)) {
pmfileconflict_t *conflict = alpm_list_getdata(i);
- switch(alpm_fileconflict_get_type(conflict)) {
+ switch(conflict->type) {
case PM_FILECONFLICT_TARGET:
printf(_("%s exists in both '%s' and '%s'\n"),
- alpm_fileconflict_get_file(conflict),
- alpm_fileconflict_get_target(conflict),
- alpm_fileconflict_get_ctarget(conflict));
+ conflict->file, conflict->target, conflict->ctarget);
break;
case PM_FILECONFLICT_FILESYSTEM:
printf(_("%s: %s exists in filesystem\n"),
- alpm_fileconflict_get_target(conflict),
- alpm_fileconflict_get_file(conflict));
+ conflict->target, conflict->file);
break;
}
}