noping: Fix compatibility with ncurses 5.8.
authorGaetan Bisson <bisson@archlinux.org>
Mon, 28 Feb 2011 13:41:24 +0000 (14:41 +0100)
committerFlorian Forster <octo@verplant.org>
Mon, 28 Feb 2011 13:41:24 +0000 (14:41 +0100)
Hello,

My name is Gaetan and I maintain liboping in Arch Linux; our distro is
in the process of switching to ncurses-5.8, and I wanted to report that
I had to patch liboping to make noping work with the newer ncurses.

Specifically, if I update ncurses and run the old noping binary, then
nothing is displayed in the ncurses window (although the summary output
displayed on stdout at the end is correct). Same if I recompile noping
against the new ncurses library.

The reason seems to be that calling newwin() with ncols=0 does not
produce a full width window anymore. Anyway, the simple patch attached
fixed this issue for me.

Cheers.

Signed-off-by: Florian Forster <octo@verplant.org>
src/oping.c

index 5ecfdbf..bb75d4e 100644 (file)
@@ -673,7 +673,7 @@ static int on_resize (pingobj_t *ping) /* {{{ */
                        context->window = NULL;
                }
                context->window = newwin (/* height = */ 4,
-                               /* width = */ 0,
+                               /* width = */ width,
                                /* y = */ main_win_height + (4 * context->index),
                                /* x = */ 0);
        }
@@ -726,7 +726,7 @@ static int pre_loop_hook (pingobj_t *ping) /* {{{ */
 
        main_win_height = height - (4 * host_num);
        main_win = newwin (/* height = */ main_win_height,
-                       /* width = */ 0,
+                       /* width = */ width,
                        /* y = */ 0, /* x = */ 0);
        /* Allow scrolling */
        scrollok (main_win, TRUE);
@@ -752,7 +752,7 @@ static int pre_loop_hook (pingobj_t *ping) /* {{{ */
                        context->window = NULL;
                }
                context->window = newwin (/* height = */ 4,
-                               /* width = */ 0,
+                               /* width = */ width,
                                /* y = */ main_win_height + (4 * context->index),
                                /* x = */ 0);
        }