static double find_double_values(struct graph_label *l, double_comparator cmp)
{
struct flist_head *entry;
- double answer, tmp;
+ double answer = 0.0, tmp;
int first = 1;
if (flist_empty(&l->value_list))
*/
while (!(v->flags & GV_F_ON_PRIO)) {
assert(!flist_empty(&v->alias));
- v = flist_entry(v->alias.next, struct graph_value, alias);
+ v = flist_first_entry(&v->alias, struct graph_value, alias);
}
prio_tree_remove(&l->prio_tree, &v->node);
while (!flist_empty(&v->alias)) {
struct graph_value *a;
- a = flist_entry(v->alias.next, struct graph_value, alias);
+ a = flist_first_entry(&v->alias, struct graph_value, alias);
flist_del_init(&a->alias);
__graph_value_drop(l, a);
to_drop = 2;
while (to_drop-- && !flist_empty(&i->value_list)) {
- x = flist_entry(i->value_list.next, struct graph_value, list);
+ x = flist_first_entry(&i->value_list, struct graph_value, list);
graph_value_drop(i, x);
/*
struct graph_value *i;
while (!flist_empty(&l->value_list)) {
- i = flist_entry(l->value_list.next, struct graph_value, list);
+ i = flist_first_entry(&l->value_list, struct graph_value, list);
graph_value_drop(l, i);
}
}
struct graph_label *i;
while (!flist_empty(&g->label_list)) {
- i = flist_entry(g->label_list.next, struct graph_label, list);
+ i = flist_first_entry(&g->label_list, struct graph_label, list);
flist_del(&i->list);
graph_free_values(i);
free(i);
}
}
+void graph_clear_values(struct graph *g)
+{
+ struct flist_head *node;
+ struct graph_label *i;
+
+ flist_for_each(node, &g->label_list) {
+ i = flist_entry(node, struct graph_label, list);
+ graph_free_values(i);
+ }
+}
+
void graph_set_color(struct graph *gr, graph_label_t label, double red,
double green, double blue)
{
}
}
if (!flist_empty(&v->alias))
- v = flist_entry(v->alias.next, struct graph_value, alias);
+ v = flist_first_entry(&v->alias, struct graph_value, alias);
} while (v != rootv);
} while ((n = prio_tree_next(&iter)) != NULL);