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>
This commit is contained in:
Hiltjo Posthuma 2014-03-22 12:29:41 +01:00 committed by sin
parent f1a747a0ca
commit 9031fcfd29
1 changed files with 9 additions and 5 deletions

14
mount.c
View File

@ -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;