summaryrefslogtreecommitdiffstats
path: root/disk-utils/cfdisk.c
diff options
context:
space:
mode:
authorKarel Zak2015-01-05 12:42:24 +0100
committerKarel Zak2015-01-05 12:42:24 +0100
commit702d0e1cef45bd53d6f63f86c25c95d0352eaa92 (patch)
tree0ecc09ec8012bdd14f8d31ab3de5971f8eed767f /disk-utils/cfdisk.c
parentcfdisk: detect too small partition sizes (diff)
downloadkernel-qcow2-util-linux-702d0e1cef45bd53d6f63f86c25c95d0352eaa92.tar.gz
kernel-qcow2-util-linux-702d0e1cef45bd53d6f63f86c25c95d0352eaa92.tar.xz
kernel-qcow2-util-linux-702d0e1cef45bd53d6f63f86c25c95d0352eaa92.zip
cfdisk: improve menu clean function
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'disk-utils/cfdisk.c')
-rw-r--r--disk-utils/cfdisk.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/disk-utils/cfdisk.c b/disk-utils/cfdisk.c
index d376b3c1e..ad72334e1 100644
--- a/disk-utils/cfdisk.c
+++ b/disk-utils/cfdisk.c
@@ -87,6 +87,7 @@
#define TABLE_START_LINE 4
#define MENU_START_LINE (ui_lines - 5)
#define INFO_LINE (ui_lines - 2)
+#define WARN_LINE INFO_LINE
#define HINT_LINE (ui_lines - 1)
#define CFDISK_ERR_ESC 5000
@@ -622,7 +623,7 @@ static void ui_warnx(const char *fmt, ...)
va_list ap;
va_start(ap, fmt);
if (ui_enabled)
- ui_vprint_center(INFO_LINE,
+ ui_vprint_center(WARN_LINE,
colors_wanted() ? COLOR_PAIR(CFDISK_CL_WARNING) : 0,
fmt, ap);
else {
@@ -641,7 +642,7 @@ static void ui_warn(const char *fmt, ...)
va_start(ap, fmt);
if (ui_enabled)
- ui_vprint_center(INFO_LINE,
+ ui_vprint_center(WARN_LINE,
colors_wanted() ? COLOR_PAIR(CFDISK_CL_WARNING) : 0,
fmt_m, ap);
else {
@@ -892,7 +893,6 @@ static size_t menuitem_get_line(struct cfdisk *cf, size_t idx)
if (items == 0)
return 0;
-
return MENU_START_LINE + ((idx / items));
}
}
@@ -1016,18 +1016,19 @@ static void ui_draw_menuitem(struct cfdisk *cf,
static void ui_clean_menu(struct cfdisk *cf)
{
size_t i;
- size_t nlines;
+ size_t lastline;
struct cfdisk_menu *m = cf->menu;
size_t ln = menuitem_get_line(cf, 0);
if (m->vertical)
- nlines = m->page_sz ? m->page_sz : m->nitems;
+ lastline = ln + (m->page_sz ? m->page_sz : m->nitems);
else
- nlines = menuitem_get_line(cf, m->nitems);
+ lastline = menuitem_get_line(cf, m->nitems);
- for (i = ln; i <= ln + nlines; i++) {
+ for (i = ln; i <= lastline; i++) {
move(i, 0);
clrtoeol();
+ DBG(MENU, ul_debug("clean_menu: line %zu", i));
}
if (m->vertical) {
move(ln - 1, 0);