{
double latency = -1.0;
size_t buffer_len = sizeof (latency);
+ int maxx;
+ getmaxyx(ctx->window, maxx, maxx);
+
ping_iterator_get_info (iter, PING_INFO_LATENCY,
&latency, &buffer_len);
deviation = context_get_stddev (ctx);
mvwprintw (ctx->window, /* y = */ 2, /* x = */ 2,
- "rtt min/avg/max/sdev = %.3f/%.3f/%.3f/%.3f ms\n",
+ "rtt min/avg/max/sdev = %.3f/%.3f/%.3f/%.3f ms",
ctx->latency_min,
average,
ctx->latency_max,
int index = 0;
ratio = latency / PING_DEF_TTL;
+ if (ratio > 1) {
+ ratio = 1;
+ }
if (ratio > 2/3.0) {
color = OPING_RED_HIST;
}
/* HOST_PRINTF ("%%r%f-ia%d-", ratio, index); */
index = index % (BARS_LEN-1);
/* HOST_PRINTF ("im%d-", index); */
- if (index < 0 || index >= BARS_LEN) {
+ if (index < 0) {
index = 0; /* safety check */
}
+ if (index >= BARS_LEN) {
+ index = BARS_LEN -1; /* safety check */
+ }
wattron (ctx->window, COLOR_PAIR(color));
mvwprintw (ctx->window,
- /* y = */ 3, /* x = */ 1 + sequence,
+ /* y = */ 3,
+ /* x = */ (1 + sequence) % maxx,
bars[index]);
wattroff (ctx->window, COLOR_PAIR(color));
}
else {
wattron (ctx->window, COLOR_PAIR(OPING_RED) | A_BOLD);
mvwprintw (ctx->window,
- /* y = */ 3, /* x = */ 1 + sequence,
+ /* y = */ 3,
+ /* x = */ (1 + sequence) % maxx,
"!");
wattroff (ctx->window, COLOR_PAIR(OPING_RED) | A_BOLD);
}