C99 extravaganza.
This commit is contained in:
parent
ff306f0cda
commit
0b8b23e0dd
24 changed files with 131 additions and 328 deletions
19
src/top.c
19
src/top.c
|
|
@ -84,10 +84,8 @@ static void update(int fd) {
|
|||
uint64_t out_packets;
|
||||
uint64_t out_bytes;
|
||||
|
||||
for(list_node_t *i = node_list.head; i; i = i->next) {
|
||||
nodestats_t *node = i->data;
|
||||
node->known = false;
|
||||
}
|
||||
for list_each(nodestats_t, ns, &node_list)
|
||||
ns->known = false;
|
||||
|
||||
while(recvline(fd, line, sizeof line)) {
|
||||
int n = sscanf(line, "%d %d %s %"PRIu64" %"PRIu64" %"PRIu64" %"PRIu64, &code, &req, name, &in_packets, &in_bytes, &out_packets, &out_bytes);
|
||||
|
|
@ -103,18 +101,17 @@ static void update(int fd) {
|
|||
|
||||
nodestats_t *found = NULL;
|
||||
|
||||
for(list_node_t *i = node_list.head; i; i = i->next) {
|
||||
nodestats_t *node = i->data;
|
||||
int result = strcmp(name, node->name);
|
||||
for list_each(nodestats_t, ns, &node_list) {
|
||||
int result = strcmp(name, ns->name);
|
||||
if(result > 0) {
|
||||
continue;
|
||||
} if(result == 0) {
|
||||
found = node;
|
||||
found = ns;
|
||||
break;
|
||||
} else {
|
||||
found = xmalloc_and_zero(sizeof *found);
|
||||
found->name = xstrdup(name);
|
||||
list_insert_before(&node_list, i, found);
|
||||
list_insert_before(&node_list, node, found);
|
||||
changed = true;
|
||||
break;
|
||||
}
|
||||
|
|
@ -152,8 +149,8 @@ static void redraw(void) {
|
|||
if(changed) {
|
||||
n = 0;
|
||||
sorted = xrealloc(sorted, node_list.count * sizeof *sorted);
|
||||
for(list_node_t *i = node_list.head; i; i = i->next)
|
||||
sorted[n++] = i->data;
|
||||
for list_each(nodestats_t, ns, &node_list)
|
||||
sorted[n++] = ns;
|
||||
changed = false;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue