diff options
author | Karel Zak | 2013-06-11 15:05:03 +0200 |
---|---|---|
committer | Karel Zak | 2013-09-16 16:47:00 +0200 |
commit | bd0d850b3e43531f72d36293291df6b086f8fdbc (patch) | |
tree | 77a9eb1a588550c9c2fc79baa9496fa1397034f3 /fdisks/fdiskdoslabel.c | |
parent | fdisk: (dos) use ask API for new partition dialog (diff) | |
download | kernel-qcow2-util-linux-bd0d850b3e43531f72d36293291df6b086f8fdbc.tar.gz kernel-qcow2-util-linux-bd0d850b3e43531f72d36293291df6b086f8fdbc.tar.xz kernel-qcow2-util-linux-bd0d850b3e43531f72d36293291df6b086f8fdbc.zip |
fdisk: (dos) remove remaining read_{int,char}() functions
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'fdisks/fdiskdoslabel.c')
-rw-r--r-- | fdisks/fdiskdoslabel.c | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/fdisks/fdiskdoslabel.c b/fdisks/fdiskdoslabel.c index 8b6bac756..6dec745e8 100644 --- a/fdisks/fdiskdoslabel.c +++ b/fdisks/fdiskdoslabel.c @@ -997,11 +997,12 @@ static int dos_add_partition( if (j >= 0) rc = add_partition(cxt, j, t); } else { - char c, line[LINE_LENGTH]; + char buf[16]; + char c, prompt[LINE_LENGTH]; int dflt; dflt = (free_primary == 1 && !extended_offset) ? 'e' : 'p'; - snprintf(line, sizeof(line), + snprintf(prompt, sizeof(prompt), _("Partition type:\n" " p primary (%zd primary, %d extended, %zd free)\n" "%s\n" @@ -1011,11 +1012,15 @@ static int dos_add_partition( extended_offset ? _(" l logical (numbered from 5)") : _(" e extended"), dflt); - c = tolower(read_chars(cxt, line)); - if (c == '\n') { + rc = get_user_reply(cxt, prompt, buf, sizeof(buf)); + if (rc) + return rc; + if (!buf[0]) { c = dflt; printf(_("Using default response %c\n"), c); - } + } else + c = tolower(buf[0]); + if (c == 'p') { int j = get_partition_unused_primary(cxt); if (j >= 0) @@ -1405,6 +1410,7 @@ void dos_move_begin(struct fdisk_context *cxt, int i) struct pte *pe = &ptes[i]; struct partition *p = pe->part_table; unsigned int new, free_start, curr_start, last; + uintmax_t res = 0; size_t x; assert(cxt); @@ -1441,8 +1447,10 @@ void dos_move_begin(struct fdisk_context *cxt, int i) last = get_partition_start(pe) + get_nr_sects(p) - 1; - new = read_int(cxt, free_start, curr_start, last, free_start, - _("New beginning of data")) - pe->offset; + if (fdisk_ask_number(cxt, free_start, curr_start, last, + _("New beginning of data"), &res)) + return; + new = res - pe->offset; if (new != get_nr_sects(p)) { unsigned int sects = get_nr_sects(p) + get_start_sect(p) - new; |