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;
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;
int rc;
ei->to = NULL;
+ ei->icost = 1;
rc = g->edge_info(g, n, e, ei);
assert(rc <= 0);
return rc;