From 9031fcfd29ee05c6e3d66eaa0b888a0375bf8cf6 Mon Sep 17 00:00:00 2001 From: Hiltjo Posthuma Date: Sat, 22 Mar 2014 12:29:41 +0100 Subject: [PATCH] mount: mounted(): dont exit on non-fatal things this fixes mount -a. proceed iterating fstab entries even if an error occurs with some entry. Signed-off-by: Hiltjo Posthuma --- mount.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/mount.c b/mount.c index df82109..6afa438 100644 --- a/mount.c +++ b/mount.c @@ -73,17 +73,21 @@ mounted(const char *dir) struct mntent *me; struct stat st1, st2; - if (stat(dir, &st1) < 0) - eprintf("stat %s:", dir); + if (stat(dir, &st1) < 0) { + weprintf("stat %s:", dir); + return 0; + } fp = setmntent("/proc/mounts", "r"); if (!fp) eprintf("setmntent %s:", "/proc/mounts"); while ((me = getmntent(fp)) != NULL) { - if (stat(me->mnt_dir, &st2) < 0) - eprintf("stat %s:", me->mnt_dir); + if (stat(me->mnt_dir, &st2) < 0) { + weprintf("stat %s:", me->mnt_dir); + continue; + } if (st1.st_dev == st2.st_dev && st1.st_ino == st2.st_ino) - return 1; + return 1; } endmntent(fp); return 0;