static WINDOW *main_win = NULL;
#endif
-static void sigint_handler (int signal)
+static void sigint_handler (int signal) /* {{{ */
{
/* Make compiler happy */
signal = 0;
/* Exit the loop */
opt_count = 0;
-}
+} /* }}} void sigint_handler */
static ping_context_t *context_create (void)
{
/ (num_total * (num_total - 1.0))));
} /* }}} double context_get_stddev */
+static double context_get_packet_loss (const ping_context_t *ctx) /* {{{ */
+{
+ if (ctx == NULL)
+ return (-1.0);
+
+ if (ctx->req_sent < 1)
+ return (0.0);
+
+ return (100.0 * (ctx->req_sent - ctx->req_rcvd)
+ / ((double) ctx->req_sent));
+} /* }}} double context_get_packet_loss */
+
static void usage_exit (const char *name, int status)
{
int name_length;
exit (status);
}
-static int read_options (int argc, char **argv)
+static int read_options (int argc, char **argv) /* {{{ */
{
int optchar;
}
return (optind);
-}
+} /* }}} read_options */
static void print_host (pingobj_iter_t *iter)
{
printf ("\n--- %s ping statistics ---\n"
"%i packets transmitted, %i received, %.2f%% packet loss, time %.1fms\n",
context->host, context->req_sent, context->req_rcvd,
- 100.0 * (context->req_sent - context->req_rcvd) / ((double) context->req_sent),
+ context_get_packet_loss (context),
context->latency_total);
if (context->req_rcvd != 0)