diff options
author | Eric Andersen <andersen@codepoet.org> | 1999-10-16 19:48:40 +0400 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 1999-10-16 19:48:40 +0400 |
commit | cb6e25655f894c90e4befc4bee0e66794dd6858f (patch) | |
tree | e98863094266c328ffebe2920d0aead3c52cc121 /mount.c | |
parent | 3c163822d88105450806fdb6a29fdfc2511267d1 (diff) |
More stuff
Diffstat (limited to 'mount.c')
-rw-r--r-- | mount.c | 13 |
1 files changed, 11 insertions, 2 deletions
@@ -174,17 +174,26 @@ extern int mount_main (int argc, char **argv) char *filesystemType = "auto"; char *device = NULL; char *directory = NULL; + struct stat statBuf; int all = 0; int i; + if (stat("/etc/fstab", &statBuf) < 0) + fprintf(stderr, "/etc/fstab file missing -- Please install one.\n\n"); + if (argc == 1) { FILE *mountTable; if ((mountTable = setmntent ("/proc/mounts", "r"))) { struct mntent *m; while ((m = getmntent (mountTable)) != 0) { + struct fstab* fstabItem; char *blockDevice = m->mnt_fsname; - if (strcmp (blockDevice, "/dev/root") == 0) - blockDevice = (getfsfile ("/"))->fs_spec; + /* Note that if /etc/fstab is missing, libc can't fix up /dev/root for us */ + if (strcmp (blockDevice, "/dev/root") == 0) { + fstabItem = getfsfile ("/"); + if (fstabItem != NULL) + blockDevice = fstabItem->fs_spec; + } printf ("%s on %s type %s (%s)\n", blockDevice, m->mnt_dir, m->mnt_type, m->mnt_opts); } |