summaryrefslogtreecommitdiffstats
path: root/usr.sbin/sysinstall/disks.c
diff options
context:
space:
mode:
authorjkh <jkh@FreeBSD.org>1995-05-08 00:38:02 +0000
committerjkh <jkh@FreeBSD.org>1995-05-08 00:38:02 +0000
commit16a0ad9d11d405294ae2804928b79fdb55f22fa2 (patch)
tree144fe9a080bc243b0c79585d1870fba0c2ca544c /usr.sbin/sysinstall/disks.c
parente788121172d68a77694232e6a216eb96cb57f648 (diff)
downloadFreeBSD-src-16a0ad9d11d405294ae2804928b79fdb55f22fa2.zip
FreeBSD-src-16a0ad9d11d405294ae2804928b79fdb55f22fa2.tar.gz
Fix a bug in multi-column output.
Diffstat (limited to 'usr.sbin/sysinstall/disks.c')
-rw-r--r--usr.sbin/sysinstall/disks.c43
1 files changed, 23 insertions, 20 deletions
diff --git a/usr.sbin/sysinstall/disks.c b/usr.sbin/sysinstall/disks.c
index 9339a8d..23648fb 100644
--- a/usr.sbin/sysinstall/disks.c
+++ b/usr.sbin/sysinstall/disks.c
@@ -63,6 +63,8 @@
/* The smallest filesystem we're willing to create */
#define FS_MIN_SIZE 2048
+#define MSG_NOT_APPLICABLE "That option is not applicable here"
+
static struct {
struct disk *d;
struct chunk *c;
@@ -125,7 +127,9 @@ check_conflict(char *name)
for (i = 0; fbsd_chunk_info[i].d; i++)
if (fbsd_chunk_info[i].type == PART_FILESYSTEM &&
- !strcmp(fbsd_chunk_info[i].c->name, name))
+ fbsd_chunk_info[i].c->private &&
+ !strcmp(((PartInfo *)fbsd_chunk_info[i].c->private)->mountpoint,
+ name))
return TRUE;
return FALSE;
}
@@ -275,9 +279,9 @@ getNewfsCmd(PartInfo *p)
#define PART_PART_COL 0
#define PART_MOUNT_COL 8
-#define PART_SIZE_COL (PART_MOUNT_COL + MAX_MOUNT_NAME + 4)
-#define PART_NEWFS_COL (PART_SIZE_COL + 8)
-#define PART_OFF 42
+#define PART_SIZE_COL (PART_MOUNT_COL + MAX_MOUNT_NAME + 3)
+#define PART_NEWFS_COL (PART_SIZE_COL + 7)
+#define PART_OFF 38
/* How many mounted partitions to display in column before going to next */
#define CHUNK_COLUMN_MAX 6
@@ -316,6 +320,7 @@ print_fbsd_chunks(void)
srow = CHUNK_SLICE_START_ROW;
prow = CHUNK_PART_START_ROW;
+ pcol = 0;
for (i = 0; fbsd_chunk_info[i].d; i++) {
if (i == current_chunk)
@@ -339,8 +344,6 @@ print_fbsd_chunks(void)
pcol = PART_OFF;
prow = CHUNK_PART_START_ROW;
}
- else
- pcol = 0;
memcpy(onestr + PART_PART_COL, fbsd_chunk_info[i].c->name,
strlen(fbsd_chunk_info[i].c->name));
if (fbsd_chunk_info[i].type == PART_FILESYSTEM) {
@@ -446,7 +449,7 @@ partition_disks(struct disk **disks)
case 'C':
if (fbsd_chunk_info[current_chunk].type != PART_SLICE) {
- msg = "Can't create a sub-partition here (that only works in master partitions)";
+ msg = "You can only do this in a master partition (see top of screen)";
break;
}
sz = space_free(fbsd_chunk_info[current_chunk].c);
@@ -483,7 +486,7 @@ partition_disks(struct disk **disks)
sz - size,
size,
part,
- (type == PART_SWAP) ? FS_SWAP : freebsd,
+ (type == PART_SWAP) ? FS_SWAP : FS_BSDFFS,
flags);
tmp = find_chunk_by_loc(fbsd_chunk_info[current_chunk].d,
fbsd_chunk_info[current_chunk].c->offset + sz - size, size);
@@ -500,7 +503,7 @@ partition_disks(struct disk **disks)
case 'D': /* delete */
if (fbsd_chunk_info[current_chunk].type == PART_SLICE) {
- msg = "Use the Master Partition Editor to delete one of these";
+ msg = MSG_NOT_APPLICABLE;
break;
}
Delete_Chunk(fbsd_chunk_info[current_chunk].d,
@@ -511,7 +514,7 @@ partition_disks(struct disk **disks)
case 'M': /* mount */
switch(fbsd_chunk_info[current_chunk].type) {
case PART_SLICE:
- msg = "You can't mount one of these directly!";
+ msg = MSG_NOT_APPLICABLE;
break;
case PART_SWAP:
@@ -537,14 +540,14 @@ partition_disks(struct disk **disks)
((PartInfo *)fbsd_chunk_info[current_chunk].c->private)->newfs)
getNewfsCmd(fbsd_chunk_info[current_chunk].c->private);
else
- msg = "newfs options not applicable for this partition";
+ msg = MSG_NOT_APPLICABLE;
break;
case 'T': /* Toggle newfs state */
if (fbsd_chunk_info[current_chunk].c->private)
((PartInfo *)fbsd_chunk_info[current_chunk].c->private)->newfs = !((PartInfo *)fbsd_chunk_info[current_chunk].c->private)->newfs;
else
- msg = "Set a mount point first.";
+ msg = MSG_NOT_APPLICABLE;
break;
case 27: /* ESC */
@@ -567,14 +570,14 @@ write_disks(struct disk **disks)
extern u_char mbr[], bteasy17[];
dialog_clear();
- if (!msgYesNo("Last Chance! Are you sure you want to write out\nall your changes to disk?")) {
- for (i = 0; disks[i]; i++) {
- if (contains_root_partition(disks[i]))
- Set_Boot_Blocks(disks[i], boot1, boot2);
- if (i == 0 && !msgYesNo("Would you like to install a boot manager?\n\nThis will allow you to easily select between other operating systems\non the first disk, or boot from a disk other than the first."))
- Set_Boot_Mgr(disks[i], bteasy17);
- else if (i == 0 && !msgYesNo("Would you like to remove an existing boot manager?"))
- Set_Boot_Mgr(disks[i], mbr);
+ for (i = 0; disks[i]; i++) {
+ if (contains_root_partition(disks[i]))
+ Set_Boot_Blocks(disks[i], boot1, boot2);
+ if (i == 0 && !msgYesNo("Would you like to install a boot manager?\n\nThis will allow you to easily select between other operating systems\non the first disk, or boot from a disk other than the first."))
+ Set_Boot_Mgr(disks[i], bteasy17);
+ else if (i == 0 && !msgYesNo("Would you like to remove an existing boot manager?"))
+ Set_Boot_Mgr(disks[i], mbr);
+ if (!msgYesNo("Last Chance! Are you sure you want to write out\nall these changes to disk?")) {
Write_Disk(disks[i]);
}
return 0;
OpenPOWER on IntegriCloud