summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2012-03-09 13:40:55 -0600
committerDan McGee <dan@archlinux.org>2012-03-16 09:49:31 -0500
commit83e42dcccef08233134a0a5da7e3da70638e6c97 (patch)
treebea29489e03c7f93d927bc6aef13a806665971cb
parent5bda38196fbd6ad389fd829924736b007732e2f1 (diff)
downloadpacman-83e42dcccef08233134a0a5da7e3da70638e6c97.tar.xz
Remove unnecessary path check from local database
This removes a call to _alpm_local_db_pkgpath() as well as an access() call when reading the local database. This appears to be code from 2006 that has stuck around. We don't need it because: 1) We never use this path except to check it via access(); however, we are already in a readdir() loop so it exists, or at least did at the time of the call. 2) The fopen() and other calls will fail on accessing the database files anyway, and we need to check those for errors. Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r--lib/libalpm/be_local.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/lib/libalpm/be_local.c b/lib/libalpm/be_local.c
index 51721d1f..16c794ea 100644
--- a/lib/libalpm/be_local.c
+++ b/lib/libalpm/be_local.c
@@ -405,7 +405,7 @@ static int local_db_populate(alpm_db_t *db)
rewinddir(dbdir);
}
if(est_count >= 2) {
- /* subtract the two extra pointers to get # of children */
+ /* subtract the '.' and '..' pointers to get # of children */
est_count -= 2;
}
@@ -526,7 +526,6 @@ static int local_db_read(alpm_pkg_t *info, alpm_dbinfrq_t inforeq)
{
FILE *fp = NULL;
char line[1024];
- char *pkgpath;
alpm_db_t *db = info->origin_data.db;
/* bitmask logic here:
@@ -545,18 +544,10 @@ static int local_db_read(alpm_pkg_t *info, alpm_dbinfrq_t inforeq)
return -1;
}
- _alpm_log(db->handle, ALPM_LOG_FUNCTION, "loading package data for %s : level=0x%x\n",
+ _alpm_log(db->handle, ALPM_LOG_FUNCTION,
+ "loading package data for %s : level=0x%x\n",
info->name, inforeq);
- pkgpath = _alpm_local_db_pkgpath(db, info, NULL);
- if(!pkgpath || access(pkgpath, F_OK)) {
- /* directory doesn't exist or can't be opened */
- _alpm_log(db->handle, ALPM_LOG_DEBUG, "cannot find '%s-%s' in db '%s'\n",
- info->name, info->version, db->treename);
- goto error;
- }
- free(pkgpath);
-
/* clear out 'line', to be certain - and to make valgrind happy */
memset(line, 0, sizeof(line));