ubase

suckless linux base utils
git clone git://git.2f30.org/ubase
Log | Files | Refs | README | LICENSE

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:
Mmount.c | 14+++++++++-----
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;