summaryrefslogtreecommitdiffstats
path: root/fdisks/fdisk.c
diff options
context:
space:
mode:
authorKarel Zak2013-07-12 10:44:35 +0200
committerKarel Zak2013-09-16 16:47:08 +0200
commit8930996828824de42894688ddab60162f64c8c05 (patch)
treebb1f4b9cbda6b9fb50d9ac8dc2024c8c3b7fa55d /fdisks/fdisk.c
parentfdisk: consolidate code in fdisk.c (diff)
downloadkernel-qcow2-util-linux-8930996828824de42894688ddab60162f64c8c05.tar.gz
kernel-qcow2-util-linux-8930996828824de42894688ddab60162f64c8c05.tar.xz
kernel-qcow2-util-linux-8930996828824de42894688ddab60162f64c8c05.zip
fdisk: move expect actions to menu callback
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'fdisks/fdisk.c')
-rw-r--r--fdisks/fdisk.c52
1 files changed, 4 insertions, 48 deletions
diff --git a/fdisks/fdisk.c b/fdisks/fdisk.c
index 25eab3bf3..451ad6f51 100644
--- a/fdisks/fdisk.c
+++ b/fdisks/fdisk.c
@@ -192,7 +192,7 @@ static void change_partition_type(struct fdisk_context *cxt)
fdisk_free_parttype(org_t);
}
-static void list_disk_geometry(struct fdisk_context *cxt)
+void list_disk_geometry(struct fdisk_context *cxt)
{
char *id = NULL;
unsigned long long bytes = cxt->total_sectors * cxt->sector_size;
@@ -232,7 +232,7 @@ static void list_disk_geometry(struct fdisk_context *cxt)
printf("\n");
}
-static void write_table(struct fdisk_context *cxt)
+void write_table(struct fdisk_context *cxt)
{
int rc;
@@ -302,7 +302,7 @@ print_buffer(struct fdisk_context *cxt, unsigned char pbuffer[]) {
printf("\n");
}
-static void print_raw(struct fdisk_context *cxt)
+void print_raw(struct fdisk_context *cxt)
{
assert(cxt);
assert(cxt->label);
@@ -317,50 +317,6 @@ static void print_raw(struct fdisk_context *cxt)
/* TODO: print also EBR (extended partition) buffer */
}
-static void
-expert_command_prompt(struct fdisk_context *cxt)
-{
- char c;
-
- assert(cxt);
-
- fdisk_context_enable_details(cxt, 1);
-
- while(1) {
- assert(cxt->label);
-
- c = process_fdisk_menu(&cxt);
- if (c <= 0)
- continue;
-
- /* well, process_fdisk_menu() returns commands that
- * are not yet implemented by menu callbacks. Let's
- * perform the commands here */
- switch (c) {
- case 'd':
- print_raw(cxt);
- break;
- case 'p':
- list_disk_geometry(cxt);
- fdisk_list_disklabel(cxt);
- break;
- case 'q':
- fdisk_free_context(cxt);
- printf("\n");
- exit(EXIT_SUCCESS);
- case 'r':
- fdisk_context_enable_details(cxt, 0);
- return;
- case 'v':
- fdisk_verify_disklabel(cxt);
- break;
- case 'w':
- write_table(cxt);
- break;
- }
- }
-}
-
static int is_ide_cdrom_or_tape(char *device)
{
int fd, ret;
@@ -482,7 +438,7 @@ static void command_prompt(struct fdisk_context *cxt)
write_table(cxt);
break;
case 'x':
- expert_command_prompt(cxt);
+ fdisk_context_enable_details(cxt, 1);
break;
case 'r':
if (cxt->parent) {