diff options
author | Garrett Wollman <wollman@FreeBSD.org> | 1996-05-13 17:43:19 +0000 |
---|---|---|
committer | Garrett Wollman <wollman@FreeBSD.org> | 1996-05-13 17:43:19 +0000 |
commit | 5e074e31a22cb630ab1a44da33e64cd3615824ec (patch) | |
tree | 45a3a22a6378c4db6229097d19a3e57ef24f2e5c /sbin/mount_nullfs/mount_nullfs.c | |
parent | 49968bb8cfacb0f3baa4074609aa24722d51f911 (diff) |
Get rid of the last vestiges of the old MOUNT_* constants in the
mount_* programs. While we're at it, collapse the four now-identical
mount programs for devfs, fdesc, kernfs, and procfs into links to
a new mount_std(8) which can mount any really generic filesystem
such as these when called with the appropriate argv[0].
Also, convert the mount programs to use sysexits.h.
Notes
Notes:
svn path=/head/; revision=15770
Diffstat (limited to 'sbin/mount_nullfs/mount_nullfs.c')
-rw-r--r-- | sbin/mount_nullfs/mount_nullfs.c | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/sbin/mount_nullfs/mount_nullfs.c b/sbin/mount_nullfs/mount_nullfs.c index e9e3bd899827..d392db7ee0d5 100644 --- a/sbin/mount_nullfs/mount_nullfs.c +++ b/sbin/mount_nullfs/mount_nullfs.c @@ -41,7 +41,11 @@ char copyright[] = #endif /* not lint */ #ifndef lint +/* static char sccsid[] = "@(#)mount_null.c 8.5 (Berkeley) 3/27/94"; +*/ +static const char rcsid[] = + "$Id$"; #endif /* not lint */ #include <sys/param.h> @@ -50,9 +54,10 @@ static char sccsid[] = "@(#)mount_null.c 8.5 (Berkeley) 3/27/94"; #include <err.h> #include <stdio.h> -#include <unistd.h> #include <stdlib.h> #include <string.h> +#include <sysexits.h> +#include <unistd.h> #include "mntopts.h" @@ -62,7 +67,7 @@ struct mntopt mopts[] = { }; int subdir __P((const char *, const char *)); -void usage __P((void)); +static __dead void usage __P((void)) __dead2; int main(argc, argv) @@ -91,10 +96,10 @@ main(argc, argv) usage(); if (realpath(argv[0], target) == 0) - err(1, "%s", target); + err(EX_OSERR, "%s", target); if (subdir(target, argv[1]) || subdir(argv[1], target)) - errx(1, "%s (%s) and %s are not distinct paths", + errx(EX_USAGE, "%s (%s) and %s are not distinct paths", argv[0], target, argv[1]); args.target = target; @@ -102,13 +107,15 @@ main(argc, argv) vfc = getvfsbyname("null"); if(!vfc && vfsisloadable("null")) { if(vfsload("null")) - err(1, "vfsload(null)"); + err(EX_OSERR, "vfsload(null)"); endvfsent(); /* flush cache */ vfc = getvfsbyname("null"); } + if (!vfc) + errx(EX_OSERR, "null filesystem is not available"); - if (mount(vfc ? vfc->vfc_index : MOUNT_NULL, argv[1], mntflags, &args)) - err(1, NULL); + if (mount(vfc->vfc_index, argv[1], mntflags, &args)) + err(EX_OSERR, target); exit(0); } @@ -129,7 +136,7 @@ subdir(p, dir) return (0); } -void +static void usage() { (void)fprintf(stderr, |