diff options
author | Karel Zak | 2013-07-12 10:44:35 +0200 |
---|---|---|
committer | Karel Zak | 2013-09-16 16:47:08 +0200 |
commit | 8930996828824de42894688ddab60162f64c8c05 (patch) | |
tree | bb1f4b9cbda6b9fb50d9ac8dc2024c8c3b7fa55d /fdisks/fdisk.c | |
parent | fdisk: consolidate code in fdisk.c (diff) | |
download | kernel-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.c | 52 |
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) { |