diff --git a/server/src/hooks.c b/server/src/hooks.c index 35404a8e4..e944c6a40 100644 --- a/server/src/hooks.c +++ b/server/src/hooks.c @@ -377,12 +377,12 @@ int hook_stats(struct path *p, struct hook *h, int when) char *buf = path_print(p); if (p->received > 1) - stats("%-40s|%10.2g|%10.2f|%10u|%10u|%10u|%10u|%10u|%10u|%10u|", buf, + stats("%-.40s|%10.2g|%10.2f|%10u|%10u|%10u|%10u|%10u|%10u|%10u|", buf, p->hist_owd.last, 1 / p->hist_gap_msg.last, p->sent, p->received, p->dropped, p->skipped, p->invalid, p->overrun, list_length(p->current) ); else - stats("%-40s|%10s|%10s|%10u|%10u|%10u|%10u|%10u|%10u|%10s|", buf, "", "", + stats("%-.40s|%10s|%10s|%10u|%10u|%10u|%10u|%10u|%10u|%10s|", buf, "", "", p->sent, p->received, p->dropped, p->skipped, p->invalid, p->overrun, "" ); diff --git a/server/src/path.c b/server/src/path.c index 014c4a24d..5d2616f97 100644 --- a/server/src/path.c +++ b/server/src/path.c @@ -198,13 +198,11 @@ char * path_print(struct path *p) { char *buf = alloc(32); - strcatf(&buf, "%s " MAG("=>") " [", p->in->name); + strcatf(&buf, "%s " MAG("=>"), p->in->name); list_foreach(struct node *n, &p->destinations) strcatf(&buf, " %s", n->name); - strcatf(&buf, " ]"); - return buf; } diff --git a/server/src/server.c b/server/src/server.c index 16002c25b..16e136714 100644 --- a/server/src/server.c +++ b/server/src/server.c @@ -191,10 +191,11 @@ int main(int argc, char *argv[]) if (settings.stats > 0) { hook_stats_header(); - do list_foreach(struct path *p, &paths) { + for (;;) { + list_foreach(struct path *p, &paths) + path_run_hook(p, HOOK_PERIODIC); usleep(settings.stats * 1e6); - path_run_hook(p, HOOK_PERIODIC); - } while (1); + } } else pause();