X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Faga%2Faga.c;h=c721b1440e6de41b8e69fa8ad2ae67d8ca408fa9;hb=c067e5e08b14d5912f855b057481914b92610d83;hp=f27f9f3034e7a34c6efc0f6a830769d3f28e3d08;hpb=3b7409ea08a7d1643bc7de31ece63e20b89f319b;p=ccan diff --git a/ccan/aga/aga.c b/ccan/aga/aga.c index f27f9f30..c721b144 100644 --- a/ccan/aga/aga.c +++ b/ccan/aga/aga.c @@ -15,7 +15,7 @@ void aga_init_graph_(struct aga_graph *g, aga_edge_info_fn edge_info) { g->sequence = 0; - g->error = 0; + g->error = AGA_ERR_NONE; g->first_edge = first_edge; g->next_edge = next_edge; @@ -54,13 +54,19 @@ bool aga_check_state(const struct aga_graph *g) void aga_finish(struct aga_graph *g) { assert(g->sequence & 1); - g->error = 0; + g->error = AGA_ERR_NONE; g->sequence++; } +bool aga_node_needs_update(const struct aga_graph *g, + const struct aga_node *node) +{ + return (node->sequence != g->sequence); +} + bool aga_update_node(const struct aga_graph *g, struct aga_node *node) { - if (node->sequence == g->sequence) + if (!aga_node_needs_update(g, node)) return false; node->sequence = g->sequence;