int list_config_entries(const char *section, const char ***names);
int i, n;
char const **sections = NULL;
char const **entries = NULL;
/* List all entries not in any section. */
n = list_config_entries(NULL, &entries);
for (i = 0; i
printf(" %s=\"%s\"\n", entries[i], get_config_string(
NULL, entries[i], "-"));
/* List all sections (and entries in them). */
n = list_config_sections(§ions);
/* loop through all section names */
for (i = 0; i
{
int j, m;
printf("%s\n", sections[i]);
m = list_config_entries(sections[i], &entries);
/* loop through all entries in the section */
for (j = 0; j
{
printf(" %s=\"%s\"\n", entries[j], get_config_string(
sections[i], entries[j], "-"));
}
}
/* It is enough to free the arrays once at the end. */
free_config_entries(§ions);
free_config_entries(&entries);