In message <[EMAIL PROTECTED]> Warner Losh writes:
: Given that OpenBSD had the -e flag to fdisk first, and that it means
: edit there and that disklabel -e means edit, I'd like to apply the
: following patch to -current before it becomes 4.0. If we wait, we'll
: have compatibility problems. Right now it is too easy to shoot
: yourself in the foot with this.
:
: When this was hashed out here, the idea was met with wide spread
: support, even fiven the advanced nature of the freeze. I take that
: support to mean that this is something that would be a good idea to do
: for 4.0.
:
: Comments?
I hate to follow up my own post. It would appear that -e was added
before 3.3R went out the door. Given that, I think the patch should
look more like the following:
Index: fdisk.8
===================================================================
RCS file: /home/imp/FreeBSD/CVS/src/sbin/i386/fdisk/fdisk.8,v
retrieving revision 1.16
diff -u -r1.16 fdisk.8
--- fdisk.8 1999/08/28 00:13:01 1.16
+++ fdisk.8 2000/03/02 20:29:12
@@ -8,7 +8,7 @@
.Nd PC partition table maintenance program
.Sh SYNOPSIS
.Nm fdisk
-.Op Fl Baeitu
+.Op Fl BIaitu
.Op Fl b Ar bootcode
.Op Fl 1234
.Op Ar disk
@@ -62,7 +62,7 @@
if
.Fl f
is given.
-.It Fl e
+.It Fl I
Initialize the contents of sector 0 with one FreeBSD slice covering the entire disk.
.It Fl f Ar configfile
Set partition values using the file
Index: fdisk.c
===================================================================
RCS file: /home/imp/FreeBSD/CVS/src/sbin/i386/fdisk/fdisk.c,v
retrieving revision 1.34
diff -u -r1.34 fdisk.c
--- fdisk.c 2000/02/11 11:25:23 1.34
+++ fdisk.c 2000/03/02 20:42:48
@@ -120,7 +120,7 @@
static int B_flag = 0; /* replace boot code */
static int a_flag = 0; /* set active partition */
static char *b_flag = NULL; /* path to boot code */
-static int e_flag = 0; /* use entire disk for FreeBSD */
+static int I_flag = 0; /* use entire disk for FreeBSD */
static int i_flag = 0; /* replace partition data */
static int u_flag = 0; /* update partition data */
static int t_flag = 0; /* test only, if f_flag is given */
@@ -216,11 +216,14 @@
{
int c, i;
- while ((c = getopt(argc, argv, "Bab:ef:ituv1234")) != -1)
+ while ((c = getopt(argc, argv, "BIab:ef:ituv1234")) != -1)
switch (c) {
case 'B':
B_flag = 1;
break;
+ case 'I':
+ I_flag = 1;
+ break;
case 'a':
a_flag = 1;
break;
@@ -228,7 +231,7 @@
b_flag = optarg;
break;
case 'e':
- e_flag = 1;
+ warnx("-e ignored. Please use -I");
break;
case 'f':
f_flag = optarg;
@@ -292,7 +295,7 @@
printf("******* Working on device %s *******\n",disk);
- if (e_flag)
+ if (I_flag)
{
struct dos_partition *partp;
@@ -648,7 +651,7 @@
if ( !(st.st_mode & S_IFCHR) )
warnx("device %s is not character special", disk);
if ((fd = open(disk,
- a_flag || e_flag || B_flag || u_flag ? O_RDWR : O_RDONLY)) == -1) {
+ a_flag || I_flag || B_flag || u_flag ? O_RDWR : O_RDONLY)) == -1) {
if(errno == ENXIO)
return -2;
warnx("can't open device %s", disk);
Warner
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message