diff options
Diffstat (limited to 'sbin/i386')
-rw-r--r-- | sbin/i386/mount_msdos/Makefile | 3 | ||||
-rw-r--r-- | sbin/i386/mount_msdos/mount_msdos.c | 23 |
2 files changed, 14 insertions, 12 deletions
diff --git a/sbin/i386/mount_msdos/Makefile b/sbin/i386/mount_msdos/Makefile index b0460ef..f6c88ab 100644 --- a/sbin/i386/mount_msdos/Makefile +++ b/sbin/i386/mount_msdos/Makefile @@ -1,5 +1,5 @@ # -# $Id$ +# $Id: Makefile,v 1.4 1997/02/22 14:32:29 peter Exp $ # PROG= mount_msdos @@ -10,6 +10,7 @@ BINOWN= root BINMODE= 4555 MOUNT= ${.CURDIR}/../../mount +CFLAGS+= -D_NEW_VFSCONF CFLAGS+= -I${MOUNT} .PATH: ${MOUNT} diff --git a/sbin/i386/mount_msdos/mount_msdos.c b/sbin/i386/mount_msdos/mount_msdos.c index 590ced7..dff366b 100644 --- a/sbin/i386/mount_msdos/mount_msdos.c +++ b/sbin/i386/mount_msdos/mount_msdos.c @@ -30,14 +30,15 @@ #ifndef lint static const char rcsid[] = - "$Id$"; + "$Id: mount_msdos.c,v 1.7 1997/02/22 14:32:30 peter Exp $"; #endif /* not lint */ -#include <sys/cdefs.h> #include <sys/param.h> -#define MSDOSFS #include <sys/mount.h> #include <sys/stat.h> + +#include <msdosfs/msdosfsmount.h> + #include <ctype.h> #include <err.h> #include <grp.h> @@ -67,9 +68,9 @@ main(argc, argv) { struct msdosfs_args args; struct stat sb; - int c, mntflags, set_gid, set_uid, set_mask; + int c, error, mntflags, set_gid, set_uid, set_mask; char *dev, *dir, ndir[MAXPATHLEN+1]; - struct vfsconf *vfc; + struct vfsconf vfc; mntflags = set_gid = set_uid = set_mask = 0; (void)memset(&args, '\0', sizeof(args)); @@ -131,17 +132,17 @@ main(argc, argv) args.mask = sb.st_mode & (S_IRWXU | S_IRWXG | S_IRWXO); } - vfc = getvfsbyname("msdos"); - if(!vfc && vfsisloadable("msdos")) { - if(vfsload("msdos")) + error = getvfsbyname("msdos", &vfc); + if (error && vfsisloadable("msdos")) { + if (vfsload("msdos")) err(EX_OSERR, "vfsload(msdos)"); endvfsent(); /* clear cache */ - vfc = getvfsbyname("msdos"); + error = getvfsbyname("msdos", &vfc); } - if (!vfc) + if (error) errx(EX_OSERR, "msdos filesystem is not available"); - if (mount(vfc->vfc_index, dir, mntflags, &args) < 0) + if (mount(vfc.vfc_name, dir, mntflags, &args) < 0) err(EX_OSERR, "%s", dev); exit (0); |