From 5edc9cf9cb73b1ce3e62a93f577fd02fe7cbedf8 Mon Sep 17 00:00:00 2001 From: jp9000 Date: Thu, 12 Dec 2013 21:42:44 -0700 Subject: [PATCH] added some more config file functions for going through each section --- libobs/util/config-file.c | 18 ++++++++++++++++++ libobs/util/config-file.h | 3 +++ 2 files changed, 21 insertions(+) diff --git a/libobs/util/config-file.c b/libobs/util/config-file.c index e8fa6ded5..fb05425e4 100644 --- a/libobs/util/config-file.c +++ b/libobs/util/config-file.c @@ -331,6 +331,24 @@ void config_close(config_t config) bfree(config); } +size_t config_num_sections(config_t config) +{ + return config->sections.num; +} + +const char *config_get_section(config_t config, size_t idx) +{ + struct config_section *section; + + if (idx >= config->sections.num) + return NULL; + + section = darray_item(sizeof(struct config_section), &config->sections, + idx); + + return section->name; +} + static struct config_item *config_find_item(struct darray *sections, const char *section, const char *name) { diff --git a/libobs/util/config-file.h b/libobs/util/config-file.h index 736bc1cb7..a5325a4a5 100644 --- a/libobs/util/config-file.h +++ b/libobs/util/config-file.h @@ -52,6 +52,9 @@ EXPORT int config_open_defaults(config_t config, const char *file); EXPORT int config_save(config_t config); EXPORT void config_close(config_t config); +EXPORT size_t config_num_sections(config_t config); +EXPORT const char *config_get_section(config_t config, size_t idx); + EXPORT void config_set_string(config_t config, const char *section, const char *name, const char *value); EXPORT void config_set_int(config_t config, const char *section,