X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Fecoli_node_once.c;h=63098783dbaeb03a5eed9f0b93d910bfeb77a6f3;hb=833dc6c2a9c47b821548b197a1d1f96f60df7de8;hp=5248d13bf9c989b38c3646c99e749acafd16952c;hpb=7c07e2a8b3b5851de0c238da830291f041185778;p=protos%2Flibecoli.git diff --git a/lib/ecoli_node_once.c b/lib/ecoli_node_once.c index 5248d13..6309878 100644 --- a/lib/ecoli_node_once.c +++ b/lib/ecoli_node_once.c @@ -105,15 +105,18 @@ ec_node_once_get_children_count(const struct ec_node *gen_node) return 0; } -static struct ec_node * -ec_node_once_get_child(const struct ec_node *gen_node, size_t i) +static int +ec_node_once_get_child(const struct ec_node *gen_node, size_t i, + struct ec_node **child, unsigned int *refs) { struct ec_node_once *node = (struct ec_node_once *)gen_node; if (i >= 1) - return NULL; + return -1; - return node->child; + *child = node->child; + *refs = 1; + return 0; } static struct ec_node_type ec_node_once_type = { @@ -156,7 +159,7 @@ struct ec_node *ec_node_once(const char *id, struct ec_node *child) if (child == NULL) return NULL; - gen_node = __ec_node(&ec_node_once_type, id); + gen_node = ec_node_from_type(&ec_node_once_type, id); if (gen_node == NULL) goto fail;