X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Foping.c;h=528c90d1e25930077472719056ed6a8112ab3ad3;hb=40f1574f0b5f713e44c73115553977900c9f933f;hp=f2e48a6c28b1b49359eeeff1ae689c9ae05339ff;hpb=de2e53623737bbd78a7e14a8a8e016fbc5f2e397;p=liboping.git diff --git a/src/oping.c b/src/oping.c index f2e48a6..528c90d 100644 --- a/src/oping.c +++ b/src/oping.c @@ -82,11 +82,17 @@ /* http://newsgroups.derkeiler.com/Archive/Rec/rec.games.roguelike.development/2010-09/msg00050.html */ # define _X_OPEN_SOURCE_EXTENDED -# if HAVE_NCURSESW_NCURSES_H -# include -# elif HAVE_NCURSES_H +#if defined HAVE_NCURSESW_CURSES_H +# include +#elif defined HAVE_NCURSESW_H +# include +#elif defined HAVE_NCURSES_CURSES_H +# include +#elif defined HAVE_NCURSES_H # include -# endif +#else +# error "SysV or X/Open-compatible Curses header file required" +#endif # define OPING_GREEN 1 # define OPING_YELLOW 2 @@ -172,7 +178,7 @@ typedef struct ping_context * and HISTORY_SIZE_MAX. */ size_t history_size; - /* Number "received" entries in the history, i.e. non-NAN entries. */ + /* Total number of reponses received. */ size_t history_received; /* Index of the next RTT to be written to history_by_time. This wraps @@ -226,22 +232,17 @@ static void sigint_handler (int signal) /* {{{ */ opt_count = 0; } /* }}} void sigint_handler */ -static ping_context_t *context_create (void) /* {{{ */ +static ping_context_t *context_create () /* {{{ */ { - ping_context_t *ret; - - if ((ret = malloc (sizeof (ping_context_t))) == NULL) + ping_context_t *ctx = calloc (1, sizeof (*ctx)); + if (ctx == NULL) return (NULL); - memset (ret, '\0', sizeof (ping_context_t)); - - ret->latency_total = 0.0; - #if USE_NCURSES - ret->window = NULL; + ctx->window = NULL; #endif - return (ret); + return (ctx); } /* }}} ping_context_t *context_create */ static void context_destroy (ping_context_t *context) /* {{{ */ @@ -1615,11 +1616,10 @@ static void update_host_hook (pingobj_iter_t *iter, /* {{{ */ if (outfile != NULL) { - struct timespec ts = { 0, 0 }; - - if (clock_gettime (CLOCK_REALTIME, &ts) == 0) + struct timeval tv = {0}; + if (gettimeofday (&tv, NULL) == 0) { - double t = ((double) ts.tv_sec) + (((double) ts.tv_nsec) / 1000000000.0); + double t = ((double) tv.tv_sec) + (((double) tv.tv_usec) / 1000000.0); if ((sequence % 32) == 0) fprintf (outfile, "#time,host,latency[ms]\n");