summaryrefslogtreecommitdiffstats
path: root/disk-utils/fdisk-menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'disk-utils/fdisk-menu.c')
-rw-r--r--disk-utils/fdisk-menu.c33
1 files changed, 18 insertions, 15 deletions
diff --git a/disk-utils/fdisk-menu.c b/disk-utils/fdisk-menu.c
index 3ea5e3ddd..baac9791a 100644
--- a/disk-utils/fdisk-menu.c
+++ b/disk-utils/fdisk-menu.c
@@ -1032,22 +1032,25 @@ static int createlabel_menu_cb(struct fdisk_context **cxt0,
rc = fdisk_create_disklabel(cxt, "sgi");
break;
}
- return rc;
+ } else {
+ switch (ent->key) {
+ case 'g':
+ rc = fdisk_create_disklabel(cxt, "gpt");
+ break;
+ case 'G':
+ rc = fdisk_create_disklabel(cxt, "sgi");
+ break;
+ case 'o':
+ rc = fdisk_create_disklabel(cxt, "dos");
+ break;
+ case 's':
+ rc = fdisk_create_disklabel(cxt, "sun");
+ break;
+ }
}
- switch (ent->key) {
- case 'g':
- fdisk_create_disklabel(cxt, "gpt");
- break;
- case 'G':
- fdisk_create_disklabel(cxt, "sgi");
- break;
- case 'o':
- fdisk_create_disklabel(cxt, "dos");
- break;
- case 's':
- fdisk_create_disklabel(cxt, "sun");
- break;
- }
+ if (rc == 0 && fdisk_get_collision(cxt))
+ follow_wipe_mode(cxt);
+
return rc;
}