diff --git a/lib/libalpm/be_package.c b/lib/libalpm/be_package.c index 1807051d..748f27a0 100644 --- a/lib/libalpm/be_package.c +++ b/lib/libalpm/be_package.c @@ -241,6 +241,7 @@ pmpkg_t *_alpm_pkg_load_internal(pmhandle_t *handle, const char *pkgfile, struct archive_entry *entry; pmpkg_t *newpkg = NULL; struct stat st; + size_t files_count = 0; if(pkgfile == NULL || strlen(pkgfile) == 0) { RET_ERR(handle, PM_ERR_WRONG_ARGS, NULL); @@ -328,6 +329,7 @@ pmpkg_t *_alpm_pkg_load_internal(pmhandle_t *handle, const char *pkgfile, } else if(full) { /* Keep track of all files for filelist generation */ newpkg->files = alpm_list_add(newpkg->files, strdup(entry_name)); + files_count++; } if(archive_read_data_skip(archive)) { @@ -366,8 +368,7 @@ pmpkg_t *_alpm_pkg_load_internal(pmhandle_t *handle, const char *pkgfile, if(full) { /* "checking for conflicts" requires a sorted list, ensure that here */ _alpm_log(handle, PM_LOG_DEBUG, "sorting package filelist for %s\n", pkgfile); - newpkg->files = alpm_list_msort(newpkg->files, alpm_list_count(newpkg->files), - _alpm_str_cmp); + newpkg->files = alpm_list_msort(newpkg->files, files_count, _alpm_str_cmp); newpkg->infolevel = INFRQ_ALL; } else { /* get rid of any partial filelist we may have collected, it is invalid */ diff --git a/src/pacman/query.c b/src/pacman/query.c index aa779075..62472cb7 100644 --- a/src/pacman/query.c +++ b/src/pacman/query.c @@ -502,7 +502,7 @@ int pacman_query(alpm_list_t *targets) if(config->op_q_foreign) { /* ensure we have at least one valid sync db set up */ alpm_list_t *sync_dbs = alpm_option_get_syncdbs(config->handle); - if(sync_dbs == NULL || alpm_list_count(sync_dbs) == 0) { + if(sync_dbs == NULL) { pm_printf(PM_LOG_ERROR, _("no usable package repositories configured.\n")); return 1; } diff --git a/src/pacman/sync.c b/src/pacman/sync.c index acb8a333..6c86bd10 100644 --- a/src/pacman/sync.c +++ b/src/pacman/sync.c @@ -911,7 +911,7 @@ int pacman_sync(alpm_list_t *targets) /* ensure we have at least one valid sync db set up */ sync_dbs = alpm_option_get_syncdbs(config->handle); - if(sync_dbs == NULL || alpm_list_count(sync_dbs) == 0) { + if(sync_dbs == NULL) { pm_printf(PM_LOG_ERROR, _("no usable package repositories configured.\n")); return 1; }