#include <ecoli_malloc.h>
#include <ecoli_string.h>
#include <ecoli_strvec.h>
-#include <ecoli_keyval.h>
+#include <ecoli_dict.h>
#include <ecoli_log.h>
#include <ecoli_config.h>
#include <ecoli_test.h>
if (ec_asprintf(&node->desc, "<%s>", type->name) < 0)
goto fail;
- node->attrs = ec_keyval();
+ node->attrs = ec_dict();
if (node->attrs == NULL)
goto fail;
fail:
if (node != NULL) {
- ec_keyval_free(node->attrs);
+ ec_dict_free(node->attrs);
ec_free(node->desc);
ec_free(node->id);
}
node->type->free_priv(node);
ec_free(node->id);
ec_free(node->desc);
- ec_keyval_free(node->attrs);
+ ec_dict_free(node->attrs);
}
node->refcnt--;
return node->type;
}
-struct ec_keyval *ec_node_attrs(const struct ec_node *node)
+struct ec_dict *ec_node_attrs(const struct ec_node *node)
{
return node->attrs;
}
}
static void __ec_node_dump(FILE *out,
- const struct ec_node *node, size_t indent, struct ec_keyval *dict)
+ const struct ec_node *node, size_t indent, struct ec_dict *dict)
{
const char *id, *typename;
struct ec_node *child;
typename = node->type->name;
snprintf(buf, sizeof(buf), "%p", node);
- if (ec_keyval_has_key(dict, buf)) {
+ if (ec_dict_has_key(dict, buf)) {
fprintf(out, "%*s" "type=%s id=%s %p... (loop)\n",
(int)indent * 4, "", typename, id, node);
return;
}
- ec_keyval_set(dict, buf, NULL, NULL);
+ ec_dict_set(dict, buf, NULL, NULL);
fprintf(out, "%*s" "type=%s id=%s %p refs=%u free_state=%d free_refs=%d\n",
(int)indent * 4, "", typename, id, node, node->refcnt,
node->free.state, node->free.refcnt);
/* XXX this is too much debug-oriented, we should have a parameter or 2 funcs */
void ec_node_dump(FILE *out, const struct ec_node *node)
{
- struct ec_keyval *dict = NULL;
+ struct ec_dict *dict = NULL;
fprintf(out, "------------------- node dump:\n");
return;
}
- dict = ec_keyval();
+ dict = ec_dict();
if (dict == NULL)
goto fail;
__ec_node_dump(out, node, 0, dict);
- ec_keyval_free(dict);
+ ec_dict_free(dict);
return;
fail:
- ec_keyval_free(dict);
+ ec_dict_free(dict);
EC_LOG(EC_LOG_ERR, "failed to dump node\n");
}
testres |= EC_TEST_CHECK(child == NULL,
"child with wrong id should be NULL");
- ret = ec_keyval_set(ec_node_attrs(node), "key", "val", NULL);
+ ret = ec_dict_set(ec_node_attrs(node), "key", "val", NULL);
testres |= EC_TEST_CHECK(ret == 0,
"cannot set node attribute\n");