X-Git-Url: https://unix4lyfe.org/gitweb/darkstat-debian/blobdiff_plain/53d9d497ad0dcb0c37efb23a5468762355db6512..HEAD:/graph_db.c diff --git a/graph_db.c b/graph_db.c index c0875d4..8884e9d 100644 --- a/graph_db.c +++ b/graph_db.c @@ -1,5 +1,5 @@ /* darkstat 3 - * copyright (c) 2006-2011 Emil Mikulic. + * copyright (c) 2006-2014 Emil Mikulic. * * graph_db.c: round robin database for graph data * @@ -47,7 +47,7 @@ static struct graph *graph_db[] = { }; static unsigned int graph_db_size = sizeof(graph_db)/sizeof(*graph_db); -static long start_mono, start_real, last_real; +static time_t start_mono, start_real, last_real; void graph_init(void) { unsigned int i; @@ -55,8 +55,6 @@ void graph_init(void) { graph_db[i]->in = xmalloc(sizeof(uint64_t) * graph_db[i]->num_bars); graph_db[i]->out = xmalloc(sizeof(uint64_t) * graph_db[i]->num_bars); } - start_mono = now_mono(); - start_real = now_real(); graph_reset(); } @@ -70,7 +68,15 @@ void graph_reset(void) { for (i=0; iout, tmp, size); free(tmp); + assert(g->num_bars > 0); assert(pos == ( (g->pos + ofs) % g->num_bars )); g->pos = pos; } @@ -169,7 +176,7 @@ static void graph_resync(const time_t new_real) { } void graph_rotate(void) { - long t, td; + time_t t, td; struct tm *tm; unsigned int i; @@ -287,7 +294,7 @@ struct str *html_front_page(void) { struct str *buf, *rf; unsigned int i; char start_when[100]; - long d_real, d_mono; + time_t d_real, d_mono; buf = str_make(); html_open(buf, "Graphs", /*path_depth=*/0, /*want_graph_js=*/1); @@ -295,28 +302,29 @@ struct str *html_front_page(void) { d_mono = now_mono() - start_mono; d_real = now_real() - start_real; str_append(buf, "

\n"); - str_append(buf, "Running for "); + str_append(buf, "Measuring for "); rf = length_of_time(d_mono); str_appendstr(buf, rf); str_free(rf); str_append(buf, ""); - if (abs(d_real - d_mono) > 1) + if (labs((long)(d_real - d_mono)) > 1) str_appendf(buf, " (real time is off by %qd sec)", - (int64_t)d_real - (int64_t)d_mono); + (qd)(d_real - d_mono)); if (strftime(start_when, sizeof(start_when), "%Y-%m-%d %H:%M:%S %Z%z", localtime(&start_real)) != 0) str_appendf(buf, ", since %s", start_when); str_appendf(buf,".
\n" - "Total %'qu bytes, " + "Seen %'qu bytes, " "in %'qu packets. " "(%'u captured, " "%'u dropped)
\n" "

\n", - acct_total_bytes, - acct_total_packets, - cap_pkts_recv, cap_pkts_drop); + (qu)acct_total_bytes, + (qu)acct_total_packets, + cap_pkts_recv, + cap_pkts_drop); str_append(buf, "
\n" @@ -361,7 +369,10 @@ struct str *xml_graphs(void) { struct str *buf = str_make(), *rf; str_appendf(buf, "num_bars; /* */ str_appendf(buf, "\n", - g->offset + j, g->in[j], g->out[j]); + g->offset + j, + (qu)g->in[j], + (qu)g->out[j]); } while (j != g->pos); str_appendf(buf, "\n", g->unit); }