#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <errno.h>
#include <string.h>
#include <locale.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
const char *config_filename = "./reread.conf";
void read_config(void)
{
};
};
fprintf(stderr, "Failed parsing configuration: %s\n", strerror(errno));
exit(1);
}
}
void print_message()
{
size_t i;
printf("Message: %s", cfg_getstr(cfg, "message"));
for (i = 0; i < cfg_size(cfg, "argument"); i++) {
arg = cfg_getnsec(cfg, "argument", i);
if (arg)
printf(", %s", cfg_getstr(arg, "value"));
}
printf("\n");
}
int main(void)
{
#ifdef LC_MESSAGES
setlocale(LC_MESSAGES, "");
setlocale(LC_CTYPE, "");
#endif
read_config();
print_message();
sec = cfg_addtsec(cfg, "argument", "two");
cfg_setstr(sec, "value", "foo");
sec = cfg_addtsec(cfg, "argument", "three");
cfg_setstr(sec, "value", "gazonk!!");
print_message();
cfg_free(cfg);
return 0;
}
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