]> git.ozlabs.org Git - ccan/blobdiff - ccan/aga/aga.c
configurator: Enable running configurator in wrapper
[ccan] / ccan / aga / aga.c
index f27f9f3034e7a34c6efc0f6a830769d3f28e3d08..a6e0539dc8ee53502f3d36c3428fd29d838b7a1a 100644 (file)
@@ -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;
@@ -87,6 +93,7 @@ int aga_edge_info(const struct aga_graph *g, const struct aga_node *n,
        int rc;
 
        ei->to = NULL;
+       ei->icost = 1;
        rc = g->edge_info(g, n, e, ei);
        assert(rc <= 0);
        return rc;