- variable = xbt_cfgelm_get(cfg, name, xbt_cfgelm_peer);
-
- if (variable->max == 1) {
- if (variable->cb_rm && xbt_dynar_length(variable->content))
- (*variable->cb_rm) (name, 0);
-
- xbt_dynar_set(variable->content, 0, &val);
- } else {
- if (variable->max
- && xbt_dynar_length(variable->content) == variable->max)
- THROWF(mismatch_error, 0,
- "Cannot add value %s:%d to the config element %s since it's already full (size=%d)",
- peer, port, name, variable->max);
-
- xbt_dynar_push(variable->content, &val);
- }
-
- if (variable->cb_set)
- (*variable->cb_set) (name, xbt_dynar_length(variable->content) - 1);
- variable->isdefault = 0;
-}
-
-/* ---- [ Removing ] ---- */
-
-/** @brief Remove the provided \e val integer value from a variable
- *
- * \arg cfg the config set
- * \arg name the name of the variable
- * \arg val the value to be removed
- */
-void xbt_cfg_rm_int(xbt_cfg_t cfg, const char *name, int val)
-{
-
- xbt_cfgelm_t variable;
- unsigned int cpt;
- int seen;
-
- variable = xbt_cfgelm_get(cfg, name, xbt_cfgelm_int);
-
- if (xbt_dynar_length(variable->content) == variable->min)
- THROWF(mismatch_error, 0,
- "Cannot remove value %d from the config element %s since it's already at its minimal size (=%d)",
- val, name, variable->min);
-
- xbt_dynar_foreach(variable->content, cpt, seen) {
- if (seen == val) {
- if (variable->cb_rm)
- (*variable->cb_rm) (name, cpt);
- xbt_dynar_cursor_rm(variable->content, &cpt);
- return;