SCCS-vsn: sbin/newfs/newfs.c 4.10
-static char sccsid[] = "@(#)newfs.c 4.9 %G%";
+static char sccsid[] = "@(#)newfs.c 4.10 %G%";
char *sprintf();
main(argc, argv)
char *sprintf();
main(argc, argv)
char *argv[];
{
char *cp, *special;
char *argv[];
{
char *cp, *special;
exit(1);
}
special = argv[0];
exit(1);
}
special = argv[0];
+ cp = rindex(special, '/');
+ if (cp != 0)
+ special = cp + 1;
+ if (*special == 'r')
+ special++;
+ special = sprintf(device, "/dev/r%s", special);
if (stat(special, &st) < 0) {
if (stat(special, &st) < 0) {
- if (*special != '/') {
- if (*special == 'r')
- special++;
- special = sprintf(device, "/dev/r%s", special);
- goto again;
- }
fprintf(stderr, "newfs: "); perror(special);
exit(2);
}
fprintf(stderr, "newfs: "); perror(special);
exit(2);
}
- if ((st.st_mode & S_IFMT) != S_IFBLK &&
- (st.st_mode & S_IFMT) != S_IFCHR)
- fatal("%s: not a block or character device", special);
+ if ((st.st_mode & S_IFMT) != S_IFCHR)
+ fatal("%s: not a character device", special);
dp = getdiskbyname(argv[1]);
if (dp == 0)
fatal("%s: unknown disk type", argv[1]);
dp = getdiskbyname(argv[1]);
if (dp == 0)
fatal("%s: unknown disk type", argv[1]);