1
0
mirror of https://github.com/moparisthebest/pacman synced 2024-12-22 15:58:50 -05:00

Restrict visibility of checkdbdir and get_pkgpath

These functions are only needed by be_local and were only promoted
to db.{h,c} as part of the splitting of handling the local and sync
dbs.  Move them into be_local.c and make them static again.

Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
Allan McRae 2010-10-11 13:47:18 +10:00
parent 5717c7d508
commit 448f78c067
3 changed files with 34 additions and 39 deletions

View File

@ -322,6 +322,25 @@ static struct pkg_operations local_pkg_ops = {
.changelog_close = _cache_changelog_close, .changelog_close = _cache_changelog_close,
}; };
static int checkdbdir(pmdb_t *db)
{
struct stat buf;
const char *path = _alpm_db_path(db);
if(stat(path, &buf) != 0) {
_alpm_log(PM_LOG_DEBUG, "database dir '%s' does not exist, creating it\n",
path);
if(_alpm_makepath(path) != 0) {
RET_ERR(PM_ERR_SYSTEM, -1);
}
} else if(!S_ISDIR(buf.st_mode)) {
_alpm_log(PM_LOG_WARNING, _("removing invalid database: %s\n"), path);
if(unlink(path) != 0 || _alpm_makepath(path) != 0) {
RET_ERR(PM_ERR_SYSTEM, -1);
}
}
return(0);
}
static int is_dir(const char *path, struct dirent *entry) static int is_dir(const char *path, struct dirent *entry)
{ {
@ -411,6 +430,21 @@ int _alpm_local_db_populate(pmdb_t *db)
return(count); return(count);
} }
/* Note: the return value must be freed by the caller */
static char *get_pkgpath(pmdb_t *db, pmpkg_t *info)
{
size_t len;
char *pkgpath;
const char *dbpath;
dbpath = _alpm_db_path(db);
len = strlen(dbpath) + strlen(info->name) + strlen(info->version) + 3;
MALLOC(pkgpath, len, RET_ERR(PM_ERR_MEMORY, NULL));
sprintf(pkgpath, "%s%s-%s/", dbpath, info->name, info->version);
return(pkgpath);
}
int _alpm_local_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq) int _alpm_local_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
{ {
FILE *fp = NULL; FILE *fp = NULL;

View File

@ -796,41 +796,4 @@ int splitname(const char *target, pmpkg_t *pkg)
return(0); return(0);
} }
/* TODO: move these two functions to be_local once be_sync no longer uses them */
int checkdbdir(pmdb_t *db)
{
struct stat buf;
const char *path = _alpm_db_path(db);
if(stat(path, &buf) != 0) {
_alpm_log(PM_LOG_DEBUG, "database dir '%s' does not exist, creating it\n",
path);
if(_alpm_makepath(path) != 0) {
RET_ERR(PM_ERR_SYSTEM, -1);
}
} else if(!S_ISDIR(buf.st_mode)) {
_alpm_log(PM_LOG_WARNING, _("removing invalid database: %s\n"), path);
if(unlink(path) != 0 || _alpm_makepath(path) != 0) {
RET_ERR(PM_ERR_SYSTEM, -1);
}
}
return(0);
}
/* Note: the return value must be freed by the caller */
char *get_pkgpath(pmdb_t *db, pmpkg_t *info)
{
size_t len;
char *pkgpath;
const char *dbpath;
dbpath = _alpm_db_path(db);
len = strlen(dbpath) + strlen(info->name) + strlen(info->version) + 3;
MALLOC(pkgpath, len, RET_ERR(PM_ERR_MEMORY, NULL));
sprintf(pkgpath, "%s%s-%s/", dbpath, info->name, info->version);
return(pkgpath);
}
/* vim: set ts=2 sw=2 noet: */ /* vim: set ts=2 sw=2 noet: */

View File

@ -101,8 +101,6 @@ alpm_list_t *_alpm_db_get_grpcache(pmdb_t *db);
pmgrp_t *_alpm_db_get_grpfromcache(pmdb_t *db, const char *target); pmgrp_t *_alpm_db_get_grpfromcache(pmdb_t *db, const char *target);
int splitname(const char *target, pmpkg_t *pkg); int splitname(const char *target, pmpkg_t *pkg);
int checkdbdir(pmdb_t *db);
char *get_pkgpath(pmdb_t *db, pmpkg_t *info);
#endif /* _ALPM_DB_H */ #endif /* _ALPM_DB_H */