From: Karel Zak Date: Wed, 10 Jul 2013 12:31:02 +0000 (+0200) Subject: fdisk: (bsd) remove generic actions from bsd_command_prompt() X-Git-Tag: v2.24-rc1~129 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d5b243144e527cf47150b7d1da580821421b90d4;p=thirdparty%2Futil-linux.git fdisk: (bsd) remove generic actions from bsd_command_prompt() Signed-off-by: Karel Zak --- diff --git a/fdisks/fdisk.c b/fdisks/fdisk.c index f95266bd11..4bae237554 100644 --- a/fdisks/fdisk.c +++ b/fdisks/fdisk.c @@ -287,6 +287,9 @@ static void write_table(struct fdisk_context *cxt) rc = fdisk_write_disklabel(cxt); if (rc) err(EXIT_FAILURE, _("cannot write disk label")); + if (cxt->parent) + /* nested PT, don't leave */ + return; printf(_("The partition table has been altered!\n\n")); reread_partition_table(cxt, 1); diff --git a/fdisks/fdiskbsdlabel.c b/fdisks/fdiskbsdlabel.c index 3919e5d7da..2bac1b0a73 100644 --- a/fdisks/fdiskbsdlabel.c +++ b/fdisks/fdiskbsdlabel.c @@ -374,51 +374,20 @@ bsd_command_prompt (struct fdisk_context *cxt) return; switch (tolower(buf[0])) { - case 'd': - if (fdisk_ask_partnum(cxt, &n, FALSE) == 0) - xbsd_delete_part(cxt, n); - break; case 'e': xbsd_edit_disklabel (cxt); break; case 'i': xbsd_write_bootstrap (cxt); break; - case 'l': - list_partition_types (cxt); - break; - case 'n': - if (fdisk_ask_partnum(cxt, &n, TRUE) == 0) - xbsd_add_part(cxt, n, 0); - break; - case 'p': - xbsd_print_disklabel (cxt, 0); - break; - case 'q': - close (cxt->dev_fd); - exit ( EXIT_SUCCESS ); - case 'r': - return; case 's': xbsd_print_disklabel (cxt, 1); break; - case 't': - xbsd_change_fstype (cxt); - break; - case 'u': - toggle_units(cxt); - break; - case 'w': - xbsd_write_disklabel (cxt); - break; #if !defined (__alpha__) case 'x': xbsd_link_part (cxt); break; #endif - default: - print_fdisk_menu(cxt); - break; } } }