Ejemplo n.º 1
0
const char *find_config_tree_str_allow_empty(struct cmd_context *cmd, int id, struct profile *profile)
{
	cfg_def_item_t *item = cfg_def_get_item_p(id);
	const char *path;
	int profile_applied = 0;
	const char *str;

	if (profile && !cmd->profile_params->global_profile)
		profile_applied = override_config_tree_from_profile(cmd, profile);

	path = cfg_def_get_path(item);

	if (item->type != CFG_TYPE_STRING)
		log_error(INTERNAL_ERROR "%s cfg tree element not declared as string.", path);
	if (!(item->flags & CFG_ALLOW_EMPTY))
		log_error(INTERNAL_ERROR "%s cfg tree element not declared to allow empty values.", path);

	str = dm_config_tree_find_str_allow_empty(cmd->cft, path, cfg_def_get_default_value(item, CFG_TYPE_STRING));

	if (profile_applied)
		remove_config_tree_by_source(cmd, CONFIG_PROFILE);

	return str;
}
Ejemplo n.º 2
0
const char *find_config_tree_str_allow_empty(struct cmd_context *cmd,
					     const char *path, const char *fail)
{
	return dm_config_tree_find_str_allow_empty(cmd->cft, path, fail);
}