summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/libalpm/package.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/libalpm/package.c b/lib/libalpm/package.c
index e92ba571..6951bf7d 100644
--- a/lib/libalpm/package.c
+++ b/lib/libalpm/package.c
@@ -268,12 +268,15 @@ pmpkg_t *_alpm_pkg_load(char *pkgfile)
RET_ERR(PM_ERR_MEMORY, NULL);
}
+ /* TODO there is no reason to make temp files to read
+ * from a libarchive archive, it can be done by reading
+ * directly from the archive */
for(i = 0; archive_read_next_header (archive, &entry) == ARCHIVE_OK; i++) {
if(config && filelist && scriptcheck) {
/* we have everything we need */
break;
}
- if(!strcmp(archive_entry_pathname (entry), ".PKGINFO")) {
+ if(strcmp(archive_entry_pathname (entry), ".PKGINFO") == 0) {
/* extract this file into /tmp. it has info for us */
descfile = strdup("/tmp/alpm_XXXXXX");
fd = mkstemp(descfile);
@@ -296,10 +299,10 @@ pmpkg_t *_alpm_pkg_load(char *pkgfile)
FREE(descfile);
close(fd);
continue;
- } else if(!strcmp(archive_entry_pathname (entry), "._install") || !strcmp(archive_entry_pathname (entry), ".INSTALL")) {
+ } else if(strcmp(archive_entry_pathname (entry), ".INSTALL") == 0) {
info->scriptlet = 1;
scriptcheck = 1;
- } else if(!strcmp(archive_entry_pathname (entry), ".FILELIST")) {
+ } else if(strcmp(archive_entry_pathname (entry), ".FILELIST") == 0) {
/* Build info->files from the filelist */
FILE *fp;
char *fn;