X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/bee3400ba6e1daeca869db8753dc4d86bcda28ca..00255adf47970918999b2b4495ce8a69b036e68a:/src/xbt/config.c diff --git a/src/xbt/config.c b/src/xbt/config.c index aa55aa65e1..39b4262834 100644 --- a/src/xbt/config.c +++ b/src/xbt/config.c @@ -64,7 +64,7 @@ static xbt_cfgelm_t xbt_cfgelm_get(xbt_cfg_t cfg, const char *name, xbt_cfg_t xbt_cfg_new(void) { - return (xbt_cfg_t) xbt_dict_new(); + return (xbt_cfg_t) xbt_dict_new_homogeneous(&xbt_cfgelm_free); } /** \brief Copy an existing configuration set @@ -263,7 +263,7 @@ xbt_cfg_register(xbt_cfg_t * cfg, XBT_ERROR("%d is an invalide type code", type); } - xbt_dict_set((xbt_dict_t) * cfg, name, res, &xbt_cfgelm_free); + xbt_dict_set((xbt_dict_t) * cfg, name, res, NULL); } /** @brief Unregister an element from a config set. @@ -828,7 +828,7 @@ void xbt_cfg_set_int(xbt_cfg_t cfg, const char *name, int val) variable = xbt_cfgelm_get(cfg, name, xbt_cfgelm_int); if (variable->max == 1) { - if (variable->cb_rm && xbt_dynar_length(variable->content)) + if (variable->cb_rm && !xbt_dynar_is_empty(variable->content)) variable->cb_rm(name, 0); xbt_dynar_set(variable->content, 0, &val); @@ -863,7 +863,7 @@ void xbt_cfg_set_double(xbt_cfg_t cfg, const char *name, double val) variable = xbt_cfgelm_get(cfg, name, xbt_cfgelm_double); if (variable->max == 1) { - if (variable->cb_rm && xbt_dynar_length(variable->content)) + if (variable->cb_rm && !xbt_dynar_is_empty(variable->content)) variable->cb_rm(name, 0); xbt_dynar_set(variable->content, 0, &val); @@ -902,7 +902,7 @@ void xbt_cfg_set_string(xbt_cfg_t cfg, const char *name, const char *val) xbt_cfgelm_type_name[variable->type], variable->type, variable); if (variable->max == 1) { - if (xbt_dynar_length(variable->content)) { + if (!xbt_dynar_is_empty(variable->content)) { if (variable->cb_rm) variable->cb_rm(name, 0); else if (variable->type == xbt_cfgelm_string) { @@ -949,7 +949,7 @@ xbt_cfg_set_peer(xbt_cfg_t cfg, const char *name, const char *peer, variable = xbt_cfgelm_get(cfg, name, xbt_cfgelm_peer); if (variable->max == 1) { - if (variable->cb_rm && xbt_dynar_length(variable->content)) + if (variable->cb_rm && !xbt_dynar_is_empty(variable->content)) variable->cb_rm(name, 0); xbt_dynar_set(variable->content, 0, &val); @@ -1245,7 +1245,7 @@ char *xbt_cfg_get_string(xbt_cfg_t cfg, const char *name) XBT_WARN ("You asked for the first value of the config element '%s', but there is %lu values\n", name, xbt_dynar_length(variable->content)); - } else if (xbt_dynar_length(variable->content) == 0) { + } else if (xbt_dynar_is_empty(variable->content)) { return NULL; }