commit 9031fcfd29ee05c6e3d66eaa0b888a0375bf8cf6
parent f1a747a0ca5bb8526bad40b24ca4d2f4b12c5ba7
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sat, 22 Mar 2014 12:29:41 +0100
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 <hiltjo@codemadness.org>
Diffstat:
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git 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;