summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAriadne Conill <ariadne@dereferenced.org>2021-12-28 16:50:00 -0600
committerTimo Teräs <timo.teras@iki.fi>2021-12-29 20:37:28 +0200
commitdfe2e141ca10a4090f270f0d7fe1c2bd9b0f3fe2 (patch)
treea637d67ac3dcfef43a2aa7d970f10615a918bec1
parentae4008c4f2fef65a8507b0ac9af83e52a2859e3c (diff)
downloadapk-tools-dfe2e141ca10a4090f270f0d7fe1c2bd9b0f3fe2.tar.gz
apk-tools-dfe2e141ca10a4090f270f0d7fe1c2bd9b0f3fe2.tar.bz2
apk-tools-dfe2e141ca10a4090f270f0d7fe1c2bd9b0f3fe2.tar.xz
apk-tools-dfe2e141ca10a4090f270f0d7fe1c2bd9b0f3fe2.zip
database: relocate find_mountpoint()
-rw-r--r--src/database.c58
1 files changed, 29 insertions, 29 deletions
diff --git a/src/database.c b/src/database.c
index 8998f6a..a71cd9f 100644
--- a/src/database.c
+++ b/src/database.c
@@ -1338,35 +1338,6 @@ static void handle_alarm(int sig)
{
}
-static char *find_mountpoint(int atfd, const char *rel_path)
-{
- struct mntent *me;
- struct stat st;
- FILE *f;
- char *ret = NULL;
- dev_t dev;
-
- if (fstatat(atfd, rel_path, &st, 0) != 0)
- return NULL;
- dev = st.st_dev;
-
- f = setmntent("/proc/mounts", "r");
- if (f == NULL)
- return NULL;
- while ((me = getmntent(f)) != NULL) {
- if (strcmp(me->mnt_fsname, "rootfs") == 0)
- continue;
- if (fstatat(atfd, me->mnt_dir, &st, 0) == 0 &&
- st.st_dev == dev) {
- ret = strdup(me->mnt_dir);
- break;
- }
- }
- endmntent(f);
-
- return ret;
-}
-
static void mark_in_cache(struct apk_database *db, int dirfd, const char *name, struct apk_package *pkg)
{
if (pkg == NULL)
@@ -1505,6 +1476,35 @@ static unsigned long map_statfs_flags(unsigned long f_flag)
return mnt_flags;
}
+static char *find_mountpoint(int atfd, const char *rel_path)
+{
+ struct mntent *me;
+ struct stat st;
+ FILE *f;
+ char *ret = NULL;
+ dev_t dev;
+
+ if (fstatat(atfd, rel_path, &st, 0) != 0)
+ return NULL;
+ dev = st.st_dev;
+
+ f = setmntent("/proc/mounts", "r");
+ if (f == NULL)
+ return NULL;
+ while ((me = getmntent(f)) != NULL) {
+ if (strcmp(me->mnt_fsname, "rootfs") == 0)
+ continue;
+ if (fstatat(atfd, me->mnt_dir, &st, 0) == 0 &&
+ st.st_dev == dev) {
+ ret = strdup(me->mnt_dir);
+ break;
+ }
+ }
+ endmntent(f);
+
+ return ret;
+}
+
static int setup_cache(struct apk_database *db, struct apk_ctx *ac)
{
struct apk_out *out = &ac->out;