From d27e5efec9b6571f4edfe46386c49c9cfc29815e Mon Sep 17 00:00:00 2001 From: Aaron Griffin Date: Fri, 19 Jan 2007 18:05:19 +0000 Subject: Johannes Weiner * package cleanup (pkg_invalid) refactoring --- lib/libalpm/package.c | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) (limited to 'lib') diff --git a/lib/libalpm/package.c b/lib/libalpm/package.c index d741562d..1f572594 100644 --- a/lib/libalpm/package.c +++ b/lib/libalpm/package.c @@ -271,27 +271,15 @@ pmpkg_t *_alpm_pkg_load(char *pkgfile) /* parse the info file */ if(parse_descfile(descfile, info, 0) == -1) { _alpm_log(PM_LOG_ERROR, _("could not parse the package description file")); - pm_errno = PM_ERR_PKG_INVALID; - unlink(descfile); - FREE(descfile); - close(fd); - goto error; + goto pkg_invalid; } if(!strlen(info->name)) { _alpm_log(PM_LOG_ERROR, _("missing package name in %s"), pkgfile); - pm_errno = PM_ERR_PKG_INVALID; - unlink(descfile); - FREE(descfile); - close(fd); - goto error; + goto pkg_invalid; } if(!strlen(info->version)) { _alpm_log(PM_LOG_ERROR, _("missing package version in %s"), pkgfile); - pm_errno = PM_ERR_PKG_INVALID; - unlink(descfile); - FREE(descfile); - close(fd); - goto error; + goto pkg_invalid; } config = 1; unlink(descfile); @@ -361,6 +349,11 @@ pmpkg_t *_alpm_pkg_load(char *pkgfile) return(info); +pkg_invalid: + pm_errno = PM_ERR_PKG_INVALID; + unlink(descfile); + FREE(descfile); + close(fd); error: FREEPKG(info); archive_read_finish (archive); -- cgit v1.2.3-24-g4f1b