Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=332d990b5558ff09c90e8d121488b7a726b34c4f
commit 332d990b5558ff09c90e8d121488b7a726b34c4f Author: Michel Hermier <[email protected]> Date: Thu Oct 31 13:02:01 2013 +0100 libpacman: Extract _pacman_localdb_open of _pacman_db_open. diff --git a/lib/libpacman/be_files.c b/lib/libpacman/be_files.c index 735683d..ceaa87e 100644 --- a/lib/libpacman/be_files.c +++ b/lib/libpacman/be_files.c @@ -94,6 +94,15 @@ pmlist_t *_pacman_localdb_test(pmdb_t *db) } static +int _pacman_localdb_open(pmdb_t *db) +{ + db->handle = opendir(db->path); + ASSERT(db->handle != NULL, RET_ERR(PM_ERR_DB_OPEN, -1)); + + return 0; +} + +static pmlist_t *_pacman_syncdb_test(pmdb_t *db) { /* testing sync dbs is not supported */ @@ -112,15 +121,14 @@ pmlist_t *_pacman_db_test(pmdb_t *db) int _pacman_db_open(pmdb_t *db) { - if(db == NULL) { - RET_ERR(PM_ERR_DB_NULL, -1); - } + int ret = 0; + + ASSERT(db != NULL, RET_ERR(PM_ERR_DB_NULL, -1)); if (islocal(db)) { - db->handle = opendir(db->path); - if(db->handle == NULL) { - RET_ERR(PM_ERR_DB_OPEN, -1); - } + ret = _pacman_localdb_open(db); + if(ret != 0) + return ret; } else { char dbpath[PATH_MAX]; snprintf(dbpath, PATH_MAX, "%s" PM_EXT_DB, db->path); @@ -140,11 +148,11 @@ int _pacman_db_open(pmdb_t *db) RET_ERR(PM_ERR_DB_OPEN, -1); } } - if(_pacman_db_getlastupdate(db, db->lastupdate) == -1) { + if(ret == 0 && _pacman_db_getlastupdate(db, db->lastupdate) == -1) { db->lastupdate[0] = '\0'; } - return(0); + return ret; } void _pacman_db_close(pmdb_t *db) _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
