libConfuse 3.4
Small configuration file parser library for C
Loading...
Searching...
No Matches
parsebuf.c
/* Very simple example for parse buf example */
#include <errno.h>
#include <string.h>
#include <stdlib.h>
#include "confuse.h"
int main(void)
{
cfg_t *cfg;
cfg_opt_t arg_opts[] = {
CFG_STR("value", "default", CFGF_NONE),
};
cfg_opt_t opts[] = {
CFG_INT("delay", 3, CFGF_NONE),
CFG_STR("message", "This is a message", CFGF_NONE),
CFG_SEC("argument", arg_opts, CFGF_MULTI | CFGF_TITLE),
};
char *buf =
" delay = 3\n"
"# message = 'asdfasfasfd tersf'\n"
" argument one { value = bar }\n"
" argument two { value=foo}\n";
cfg = cfg_init(opts, 0);
if (cfg_parse_buf(cfg, buf) != CFG_SUCCESS) {
fprintf(stderr, "Failed parsing configuration: %s\n", strerror(errno));
exit(1);
}
cfg_print(cfg, stdout);
return cfg_free(cfg);
}
A configuration file parser library.
#define CFG_SEC(_name, _opts, _flags)
Initialize a section.
Definition confuse.h:790
#define CFGF_TITLE
option has a title (only applies to sections)
Definition confuse.h:86
#define CFGF_NONE
Flags.
Definition confuse.h:82
#define CFG_SUCCESS
Success, all OK (POSIX '0')
Definition confuse.h:103
#define CFG_END()
Terminate list of options.
Definition confuse.h:858
#define CFGF_MULTI
option may be specified multiple times (only applies to sections)
Definition confuse.h:83
#define CFG_STR(name, def, flags)
Initialize a string option.
Definition confuse.h:367
#define CFG_INT(name, def, flags)
Initialize an integer option.
Definition confuse.h:473
Data structure holding information about an option.
Definition confuse.h:324
Data structure holding information about a "section".
Definition confuse.h:250