Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=aad6072bbf817fb50087d221a3860bd74177e75c
commit aad6072bbf817fb50087d221a3860bd74177e75c Author: Michel Hermier <herm...@frugalware.org> Date: Mon Nov 11 11:34:21 2013 +0100 libpacman: Use _pacman_*db_pkg_new in _pacman_*db_scan. diff --git a/lib/libpacman/be_files.c b/lib/libpacman/be_files.c index 4a916cc..7a59c63 100644 --- a/lib/libpacman/be_files.c +++ b/lib/libpacman/be_files.c @@ -161,9 +161,6 @@ pmpkg_t *_pacman_localdb_scan(pmdb_t *db, const char *target, unsigned int infor char path[PATH_MAX]; char name[PKG_FULLNAME_LEN]; char *ptr = NULL; - int found = 0; - pmpkg_t *pkg; - char *dname; ASSERT(db != NULL, RET_ERR(PM_ERR_DB_NULL, NULL)); ASSERT(!_pacman_strempty(target), RET_ERR(PM_ERR_WRONG_ARGS, NULL)); @@ -172,7 +169,7 @@ pmpkg_t *_pacman_localdb_scan(pmdb_t *db, const char *target, unsigned int infor _pacman_db_rewind(db); /* search for a specific package (by name only) */ - while(!found && (ent = readdir(db->handle)) != NULL) { + while((ent = readdir(db->handle)) != NULL) { if(!strcmp(ent->d_name, ".") || !strcmp(ent->d_name, "..")) { continue; } @@ -191,29 +188,17 @@ pmpkg_t *_pacman_localdb_scan(pmdb_t *db, const char *target, unsigned int infor *ptr = '\0'; } if(!strcmp(name, target)) { - found = 1; + return _pacman_localdb_pkg_new(db, ent, inforeq); } } - if(!found) { - return(NULL); - } - dname = strdup(ent->d_name); - if((pkg = _pacman_pkg_new_from_filename(dname, 0)) == NULL || - _pacman_db_read(db, inforeq, pkg) == -1) { - _pacman_log(PM_LOG_ERROR, _("invalid name for dabatase entry '%s'"), dname); - FREEPKG(pkg); - } - return pkg; + return(NULL); } pmpkg_t *_pacman_syncdb_scan(pmdb_t *db, const char *target, unsigned int inforeq) { char name[PKG_FULLNAME_LEN]; char *ptr = NULL; - int found = 0; - pmpkg_t *pkg; struct archive_entry *entry = NULL; - char *dname; ASSERT(db != NULL, RET_ERR(PM_ERR_DB_NULL, NULL)); ASSERT(!_pacman_strempty(target), RET_ERR(PM_ERR_WRONG_ARGS, NULL)); @@ -222,7 +207,7 @@ pmpkg_t *_pacman_syncdb_scan(pmdb_t *db, const char *target, unsigned int infore _pacman_db_rewind(db); /* search for a specific package (by name only) */ - while (!found && archive_read_next_header(db->handle, &entry) == ARCHIVE_OK) { + while (archive_read_next_header(db->handle, &entry) == ARCHIVE_OK) { // make sure it's a directory const char *pathname = archive_entry_pathname(entry); if (pathname[strlen(pathname)-1] != '/') @@ -237,19 +222,10 @@ pmpkg_t *_pacman_syncdb_scan(pmdb_t *db, const char *target, unsigned int infore *ptr = '\0'; } if(!strcmp(name, target)) { - found = 1; + return _pacman_syncdb_pkg_new(db, entry, inforeq); } } - if(!found) { - return(NULL); - } - dname = strdup(archive_entry_pathname(entry)); - if((pkg = _pacman_pkg_new_from_filename(dname, 0)) == NULL || - _pacman_db_read(db, inforeq, pkg) == -1) { - _pacman_log(PM_LOG_ERROR, _("invalid name for dabatase entry '%s'"), dname); - FREEPKG(pkg); - } - return pkg; + return(NULL); } pmpkg_t *_pacman_db_scan(pmdb_t *db, const char *target, unsigned int inforeq) _______________________________________________ Frugalware-git mailing list Frugalware-git@frugalware.org http://frugalware.org/mailman/listinfo/frugalware-git