static const char *unit = "bytes";
static float scale = 1;
+#ifndef timersub
+#define timersub(a, b, c) do {(c)->tv_sec = (a)->tv_sec - (b)->tv_sec; (c)->tv_usec = (a)->tv_usec = (b)->tv_usec;} while(0)
+#endif
+
static void update(int fd) {
sendline(fd, "%d %d", CONTROL, REQ_DUMP_TRAFFIC);
gettimeofday(&now, NULL);
static void redraw(void) {
erase();
- mvprintw(0, 0, "Tinc %-16s Nodes: %4d Sort: %-8s %s", netname, node_list.count, sortname[sortmode], cumulative ? "Cumulative" : "Current");
+ mvprintw(0, 0, "Tinc %-16s Nodes: %4d Sort: %-8s %s", netname ?: "", node_list.count, sortname[sortmode], cumulative ? "Cumulative" : "Current");
attrset(A_REVERSE);
mvprintw(2, 0, "Node IN pkts IN %s OUT pkts OUT %s", unit, unit);
chgat(-1, A_REVERSE, 0, NULL);
attrset(A_DIM);
if(cumulative)
- mvprintw(row, 0, "%-16s %'10"PRIu64" %'10.0f %'10"PRIu64" %'10.0f",
+ mvprintw(row, 0, "%-16s %10"PRIu64" %10.0f %10"PRIu64" %10.0f",
node->name, node->in_packets, node->in_bytes * scale, node->out_packets, node->out_bytes * scale);
else
- mvprintw(row, 0, "%-16s %'10.0f %'10.0f %'10.0f %'10.0f",
+ mvprintw(row, 0, "%-16s %10.0f %10.0f %10.0f %10.0f",
node->name, node->in_packets_rate, node->in_bytes_rate * scale, node->out_packets_rate, node->out_bytes_rate * scale);
}