Add config_read_from_file()

This commit is contained in:
Přemysl Eric Janouch 2016-10-01 04:36:59 +02:00
parent 6234f686e0
commit 952cf985dc
Signed by: p
GPG Key ID: B715679E3A361BE6
1 changed files with 21 additions and 0 deletions

View File

@ -5336,6 +5336,27 @@ config_item_clone (struct config_item *self)
return result;
}
static struct config_item *
config_read_from_file (const char *filename, struct error **e)
{
struct config_item *root = NULL;
struct str data;
str_init (&data);
if (!read_file (filename, &data, e))
goto end;
struct error *error = NULL;
if (!(root = config_item_parse (data.str, data.len, false, &error)))
{
error_set (e, "parse error in `%s': %s", filename, error->message);
error_free (error);
}
end:
str_free (&data);
return root;
}
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/// "user_data" is passed so that it be immediately used by validation callbacks