From 35a9f3e7d0ffd6bfc6b8fa8d65ed5184eeadaaa4 Mon Sep 17 00:00:00 2001 From: Aaron Griffin Date: Fri, 19 Jan 2007 23:44:50 +0000 Subject: Moved some decls to make the "pkg_invalid" patch compile again. --- lib/libalpm/package.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/libalpm/package.c b/lib/libalpm/package.c index 7317982c..084b9014 100644 --- a/lib/libalpm/package.c +++ b/lib/libalpm/package.c @@ -235,6 +235,8 @@ pmpkg_t *_alpm_pkg_load(char *pkgfile) register struct archive *archive; struct archive_entry *entry; pmpkg_t *info = NULL; + char *descfile = NULL; + int fd = -1; if(pkgfile == NULL || strlen(pkgfile) == 0) { RET_ERR(PM_ERR_WRONG_ARGS, NULL); @@ -261,9 +263,6 @@ pmpkg_t *_alpm_pkg_load(char *pkgfile) break; } if(!strcmp(archive_entry_pathname (entry), ".PKGINFO")) { - char *descfile; - int fd; - /* extract this file into /tmp. it has info for us */ descfile = strdup("/tmp/alpm_XXXXXX"); fd = mkstemp(descfile); @@ -351,9 +350,13 @@ pmpkg_t *_alpm_pkg_load(char *pkgfile) pkg_invalid: pm_errno = PM_ERR_PKG_INVALID; - unlink(descfile); - FREE(descfile); - close(fd); + if(descfile) { + unlink(descfile); + FREE(descfile); + } + if(fd != -1) { + close(fd); + } error: FREEPKG(info); archive_read_finish (archive); -- cgit v1.2.3-54-g00ecf