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);
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;
}
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;
}