static void remove_expansions(svn_config_t *cfg) { if (!cfg->x_values) return; for_each_option(cfg, NULL, cfg->x_pool, rmex_callback); svn_pool_clear(cfg->x_pool); cfg->x_values = FALSE; }
svn_error_t * svn_config_merge(svn_config_t *cfg, const char *file, svn_boolean_t must_exist) { /* The original config hash shouldn't change if there's an error while reading the confguration, so read into a temporary table. ### We could use a tmp subpool for this, since merge_cfg is going to be tossed afterwards. Premature optimization, though? */ svn_config_t *merge_cfg; SVN_ERR(svn_config_read(&merge_cfg, file, must_exist, cfg->pool)); /* Now copy the new options into the original table. */ for_each_option(merge_cfg, cfg, merge_cfg->pool, merge_callback); return SVN_NO_ERROR; }