Code

cleanup safety checks
authorAntoine Beaupré <anarcat@koumbit.org>
Tue, 3 Dec 2013 03:32:46 +0000 (22:32 -0500)
committerAntoine Beaupré <anarcat@koumbit.org>
Tue, 3 Dec 2013 03:32:46 +0000 (22:32 -0500)
make sure that if we go beyond the max ratio, we just mark it as one

src/oping.c

index 14f5fd3711016b2269fb84186880f581160e4d0f..a630b8d1f867f8fde83a38fdb92e9b482762d949 100644 (file)
@@ -664,6 +664,9 @@ static int update_stats_from_context (ping_context_t *ctx, pingobj_iter_t *iter)
                         int index = 0;
 
                         ratio = latency / PING_DEF_TTL;
+                        if (ratio > 1) {
+                          ratio = 1;
+                        }
                         if (ratio > 2/3.0) {
                           color = OPING_RED_HIST;
                         }
@@ -674,9 +677,12 @@ static int update_stats_from_context (ping_context_t *ctx, pingobj_iter_t *iter)
                         /* 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,