summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2011-04-01 15:13:37 -0500
committerDan McGee <dan@archlinux.org>2011-04-01 15:13:37 -0500
commit7f6d986ac93e3465db6a4ed5c3ac77b72d890e68 (patch)
tree1aa5c69103322c9907bb8a9445476ceb846371b0
parent39fd8bc318d4a90aab704f892cd80c22f5c7345f (diff)
downloadpacman-7f6d986ac93e3465db6a4ed5c3ac77b72d890e68.tar.gz
pacman-7f6d986ac93e3465db6a4ed5c3ac77b72d890e68.zip
Add default changelog functions to pkg_operations
So we don't segfault when calling this on be_sync loaded packages. They return logical values as much as possible for indicating there is no changelog available. Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r--lib/libalpm/package.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/libalpm/package.c b/lib/libalpm/package.c
index adb1ce9e..589badff 100644
--- a/lib/libalpm/package.c
+++ b/lib/libalpm/package.c
@@ -123,6 +123,10 @@ static alpm_list_t *_pkg_get_deltas(pmpkg_t *pkg) { return pkg->deltas; }
static alpm_list_t *_pkg_get_files(pmpkg_t *pkg) { return pkg->files; }
static alpm_list_t *_pkg_get_backup(pmpkg_t *pkg) { return pkg->backup; }
+static void *_pkg_changelog_open(pmpkg_t *pkg) { return NULL; }
+static size_t _pkg_changelog_read(void *ptr, size_t size, const pmpkg_t *pkg, const void *fp) { return 0; }
+static int _pkg_changelog_close(const pmpkg_t *pkg, void *fp) { return EOF; }
+
/** The standard package operations struct. Get fields directly from the
* struct itself with no abstraction layer or any type of lazy loading.
*/
@@ -141,6 +145,7 @@ struct pkg_operations default_pkg_ops = {
.get_isize = _pkg_get_isize,
.get_reason = _pkg_get_reason,
.has_scriptlet = _pkg_has_scriptlet,
+
.get_licenses = _pkg_get_licenses,
.get_groups = _pkg_get_groups,
.get_depends = _pkg_get_depends,
@@ -151,6 +156,10 @@ struct pkg_operations default_pkg_ops = {
.get_deltas = _pkg_get_deltas,
.get_files = _pkg_get_files,
.get_backup = _pkg_get_backup,
+
+ .changelog_open = _pkg_changelog_open,
+ .changelog_read = _pkg_changelog_read,
+ .changelog_close = _pkg_changelog_close,
};
/* Public functions for getting package information. These functions