X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;ds=sidebyside;f=libecoli%2Fecoli_config.c;h=66d92325589f432e4dc1685b1eab7a1fd1870bb4;hb=8e936d5c612e3dfa392a9fa78ecda728bbdb1997;hp=0698f07cb0caa5199fc5d756c3725ef01f58f0e0;hpb=90efcb0b905753a2eac864bc1a869781d7c31919;p=protos%2Flibecoli.git diff --git a/libecoli/ecoli_config.c b/libecoli/ecoli_config.c index 0698f07..66d9232 100644 --- a/libecoli/ecoli_config.c +++ b/libecoli/ecoli_config.c @@ -360,6 +360,25 @@ ec_config_list(void) return value; } +ssize_t ec_config_count(const struct ec_config *config) +{ + const struct ec_config *child; + ssize_t n; + + switch (config->type) { + case EC_CONFIG_TYPE_LIST: + n = 0; + TAILQ_FOREACH(child, &config->list, next) + n++; + return n; + case EC_CONFIG_TYPE_DICT: + // XXX todo + default: + errno = EINVAL; + return -1; + } +} + const struct ec_config_schema * ec_config_schema_lookup(const struct ec_config_schema *schema, const char *key)