diff options
-rw-r--r-- | fdisks/fdisk-ask.c | 4 | ||||
-rw-r--r-- | fdisks/fdisk-menu.c | 8 | ||||
-rw-r--r-- | fdisks/fdisk.c | 20 | ||||
-rw-r--r-- | fdisks/fdisk.h | 1 | ||||
-rw-r--r-- | libfdisk/src/ask.c | 28 | ||||
-rw-r--r-- | libfdisk/src/fdiskP.h | 7 | ||||
-rw-r--r-- | libfdisk/src/libfdisk.h | 1 |
7 files changed, 23 insertions, 46 deletions
diff --git a/fdisks/fdisk-ask.c b/fdisks/fdisk-ask.c index 7de40b435..2fd94b991 100644 --- a/fdisks/fdisk-ask.c +++ b/fdisks/fdisk-ask.c @@ -279,10 +279,6 @@ int ask_callback(struct fdisk_context *cxt, struct fdisk_ask *ask, fdisk_ask_yesno_set_result(ask, rpmatch(buf)); DBG(ASK, dbgprint("yes-no ask: reply '%s' [rc=%d]", buf, rc)); break; - case FDISK_ASKTYPE_TABLE: - fputc('\n', stdout); - tt_print_table(fdisk_ask_get_table(ask)); - break; case FDISK_ASKTYPE_STRING: { char prmt[BUFSIZ]; diff --git a/fdisks/fdisk-menu.c b/fdisks/fdisk-menu.c index ced819aaf..d7b852deb 100644 --- a/fdisks/fdisk-menu.c +++ b/fdisks/fdisk-menu.c @@ -210,7 +210,6 @@ struct menu menu_dos = { MENU_ENT('c', N_("toggle the dos compatibility flag")), MENU_XENT('b', N_("move beginning of data in a partition")), - MENU_XENT('e', N_("list extended partitions")), MENU_XENT('f', N_("fix partition order")), MENU_XENT('i', N_("change the disk identifier")), @@ -445,7 +444,7 @@ static int generic_menu_cb(struct fdisk_context **cxt0, switch (ent->key) { case 'p': list_disk_geometry(cxt); - rc = fdisk_list_disklabel(cxt); + list_disklabel(cxt); break; case 'w': rc = fdisk_write_disklabel(cxt); @@ -655,9 +654,6 @@ static int dos_menu_cb(struct fdisk_context **cxt0, rc = fdisk_dos_move_begin(cxt, n); break; } - case 'e': - rc = fdisk_dos_list_extended(cxt); - break; case 'f': rc = fdisk_dos_fix_order(cxt); break; @@ -799,7 +795,7 @@ static int bsd_menu_cb(struct fdisk_context **cxt0, org = fdisk_context_display_details(cxt); fdisk_context_enable_details(cxt, 1); - fdisk_list_disklabel(cxt); + list_disklabel(cxt); fdisk_context_enable_details(cxt, org); break; case 'x': diff --git a/fdisks/fdisk.c b/fdisks/fdisk.c index 3e0d75205..19658be9a 100644 --- a/fdisks/fdisk.c +++ b/fdisks/fdisk.c @@ -232,6 +232,24 @@ void list_disk_geometry(struct fdisk_context *cxt) fdisk_colon(cxt, _("Disk identifier: %s"), id); } +void list_disklabel(struct fdisk_context *cxt) +{ + struct fdisk_table *tb = NULL; + char *str; + + /* print label specific stuff by libfdisk FDISK_ASK_INFO API */ + fdisk_list_disklabel(cxt); + + /* print partitions */ + if (fdisk_get_table(cxt, &tb)) + return; + if (fdisk_table_to_string(tb, cxt, NULL, 0, &str) == 0) { + fputc('\n', stdout); + fputs(str, stdout); + } + fdisk_unref_table(tb); +} + static size_t skip_empty(const unsigned char *buf, size_t i, size_t sz) { size_t next; @@ -338,7 +356,7 @@ static void print_device_pt(struct fdisk_context *cxt, char *device) list_disk_geometry(cxt); if (fdisk_dev_has_disklabel(cxt)) - fdisk_list_disklabel(cxt); + list_disklabel(cxt); fputc('\n', stdout); } diff --git a/fdisks/fdisk.h b/fdisks/fdisk.h index 15df8e41d..8d8144a7c 100644 --- a/fdisks/fdisk.h +++ b/fdisks/fdisk.h @@ -27,6 +27,7 @@ extern void dump_disklabel(struct fdisk_context *cxt); extern void list_partition_types(struct fdisk_context *cxt); extern void list_disk_geometry(struct fdisk_context *cxt); +extern void list_disklabel(struct fdisk_context *cxt); extern void change_partition_type(struct fdisk_context *cxt); extern struct fdisk_parttype *ask_partition_type(struct fdisk_context *cxt); diff --git a/libfdisk/src/ask.c b/libfdisk/src/ask.c index 872c8da38..23e6263c6 100644 --- a/libfdisk/src/ask.c +++ b/libfdisk/src/ask.c @@ -490,34 +490,6 @@ int fdisk_ask_yesno_set_result(struct fdisk_ask *ask, uint64_t result) return 0; } -struct tt *fdisk_ask_get_table(struct fdisk_ask *ask) -{ - assert(ask); - assert(fdisk_is_ask(ask, TABLE)); - return ask->data.table; -} - -int fdisk_print_table(struct fdisk_context *cxt, struct tt *tb) -{ - struct fdisk_ask *ask; - int rc; - - assert(cxt); - assert(tb); - - ask = fdisk_new_ask(); - if (!ask) - return -ENOMEM; - - fdisk_ask_set_type(ask, FDISK_ASKTYPE_TABLE); - ask->data.table = tb; - - rc = fdisk_do_ask(cxt, ask); - - fdisk_free_ask(ask); - return rc; -} - #define is_print_ask(a) (fdisk_is_ask(a, WARN) || fdisk_is_ask(a, WARNX) || fdisk_is_ask(a, INFO)) int fdisk_ask_print_get_errno(struct fdisk_ask *ask) diff --git a/libfdisk/src/fdiskP.h b/libfdisk/src/fdiskP.h index 1cd8b4874..ec6123083 100644 --- a/libfdisk/src/fdiskP.h +++ b/libfdisk/src/fdiskP.h @@ -21,8 +21,8 @@ #include "libfdisk.h" #include "nls.h" /* temporary before dialog API will be implamented */ -#include "tt.h" #include "list.h" +#include "tt.h" /* features */ #define CONFIG_LIBFDISK_ASSERT @@ -355,8 +355,6 @@ struct fdisk_ask { struct ask_string { char *result; /* allocated */ } str; - /* FDISK_ASKTYPE_TABLE, see include/tt.h */ - struct tt *table; } data; }; @@ -455,9 +453,6 @@ extern const struct fdisk_column *fdisk_label_get_column( /* ask.c */ extern int fdisk_ask_partnum(struct fdisk_context *cxt, size_t *partnum, int wantnew); -extern struct tt *fdisk_ask_get_table(struct fdisk_ask *ask); -extern int fdisk_print_table(struct fdisk_context *cxt, struct tt *tb); - extern int fdisk_info_new_partition( struct fdisk_context *cxt, int num, sector_t start, sector_t stop, diff --git a/libfdisk/src/libfdisk.h b/libfdisk/src/libfdisk.h index 8d03990a0..c093fa8e4 100644 --- a/libfdisk/src/libfdisk.h +++ b/libfdisk/src/libfdisk.h @@ -55,7 +55,6 @@ enum { FDISK_ASKTYPE_WARNX, FDISK_ASKTYPE_INFO, FDISK_ASKTYPE_YESNO, - FDISK_ASKTYPE_TABLE, FDISK_ASKTYPE_STRING }; |