diff options
| author | Přemysl Janouch <p.janouch@gmail.com> | 2016-10-01 04:36:59 +0200 | 
|---|---|---|
| committer | Přemysl Janouch <p.janouch@gmail.com> | 2016-10-01 04:36:59 +0200 | 
| commit | 952cf985dca6a97ee662f3b189788089abd2ef57 (patch) | |
| tree | 288d0286386d14c3ecff9ca094a11079bf884a58 | |
| parent | 6234f686e011dfff6c585309de27204122cdbb8a (diff) | |
| download | liberty-952cf985dca6a97ee662f3b189788089abd2ef57.tar.gz liberty-952cf985dca6a97ee662f3b189788089abd2ef57.tar.xz liberty-952cf985dca6a97ee662f3b189788089abd2ef57.zip | |
Add config_read_from_file()
| -rw-r--r-- | liberty.c | 21 | 
1 files changed, 21 insertions, 0 deletions
| @@ -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 | 
