X-Git-Url: https://unix4lyfe.org/gitweb/darkstat-debian/blobdiff_plain/53d9d497ad0dcb0c37efb23a5468762355db6512..3c6b3682c70be84db86e70c191016913a9836c31:/graph_db.c
diff --git a/graph_db.c b/graph_db.c
index c0875d4..4485d45 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;
@@ -57,6 +57,7 @@ void graph_init(void) {
}
start_mono = now_mono();
start_real = now_real();
+ last_real = 0;
graph_reset();
}
@@ -127,6 +128,7 @@ static void rotate(struct graph *g, const unsigned int pos) {
memcpy(g->out, tmp, size);
free(tmp);
+ assert(g->num_bars > 0);
assert(pos == ( (g->pos + ofs) % g->num_bars ));
g->pos = pos;
}
@@ -169,7 +171,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 +289,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);
@@ -302,7 +304,7 @@ struct str *html_front_page(void) {
str_append(buf, "");
if (abs(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 - (qd)d_mono);
if (strftime(start_when, sizeof(start_when),
"%Y-%m-%d %H:%M:%S %Z%z", localtime(&start_real)) != 0)
@@ -314,9 +316,10 @@ struct str *html_front_page(void) {
"(%'u captured, "
"%'u dropped)
\n"
"