From d38019541508d0efb3477ef4938ea8e939444333 Mon Sep 17 00:00:00 2001 From: Haru Date: Tue, 16 Feb 2016 16:59:09 +0100 Subject: Updated libconfig to version 1.5 - Based on https://github.com/hyperrealm/libconfig/releases/tag/v1.5 f9f23d7a95608936ea7d839731dbd56f1667b7ed - Improvements that come with this libconfig version: * Don't fclose() a null pointer. * check if file being opened is a directory * added config_set_options(), config_get_options(), setOptions(), getOptions(). * renamed config_setting_lookup_from() to config_setting_lookup() and documented it * floating point precision loss patch * scanner code cleanup * parser code cleanup * bugfix; capture root filename - Parser generated with Bison 2.7 - Scanner generated with flex 2.6 - This includes the windows-compatibility commit 909b06c07e30e456cc63f58d31b0e2f3aad4cc43 from upstream (although not part of version 1.5) Signed-off-by: Haru --- src/common/conf.c | 6 +++--- src/common/conf.h | 6 +++--- src/test/test_libconfig.c | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/common/conf.c b/src/common/conf.c index 3e8c08963..dadd2c627 100644 --- a/src/common/conf.c +++ b/src/common/conf.c @@ -134,8 +134,8 @@ void libconfig_defaults(void) { libconfig->read = config_read; libconfig->write = config_write; /* */ - libconfig->set_auto_convert = config_set_auto_convert; - libconfig->get_auto_convert = config_get_auto_convert; + libconfig->set_options = config_set_options; + libconfig->get_options = config_get_options; /* */ libconfig->read_string = config_read_string; libconfig->read_file_src = config_read_file; @@ -153,6 +153,7 @@ void libconfig_defaults(void) { libconfig->setting_get_bool = config_setting_get_bool; libconfig->setting_get_string = config_setting_get_string; /* */ + libconfig->setting_lookup = config_setting_lookup; libconfig->setting_lookup_int = config_setting_lookup_int; libconfig->setting_lookup_int64 = config_setting_lookup_int64; libconfig->setting_lookup_float = config_setting_lookup_float; @@ -193,7 +194,6 @@ void libconfig_defaults(void) { libconfig->setting_set_hook = config_setting_set_hook; /* */ libconfig->lookup = config_lookup; - libconfig->lookup_from = config_lookup_from; /* */ libconfig->lookup_int = config_lookup_int; libconfig->lookup_int64 = config_lookup_int64; diff --git a/src/common/conf.h b/src/common/conf.h index 19b13c51a..19aa73c2d 100644 --- a/src/common/conf.h +++ b/src/common/conf.h @@ -32,8 +32,8 @@ struct libconfig_interface { int (*read) (config_t *config, FILE *stream); void (*write) (const config_t *config, FILE *stream); /* */ - void (*set_auto_convert) (config_t *config, int flag); // TODO: Replace with config_set_options - int (*get_auto_convert) (const config_t *config); // TODO: Replace with config_get_options + void (*set_options) (config_t *config, int options); + int (*get_options) (const config_t *config); /* */ int (*read_string) (config_t *config, const char *str); int (*read_file_src) (config_t *config, const char *filename); @@ -53,6 +53,7 @@ struct libconfig_interface { const char * (*setting_get_string) (const config_setting_t *setting); + config_setting_t * (*setting_lookup) (config_setting_t *setting, const char *name); int (*setting_lookup_int) (const config_setting_t *setting, const char *name, int *value); int (*setting_lookup_int64) (const config_setting_t *setting, const char *name, long long *value); int (*setting_lookup_float) (const config_setting_t *setting, const char *name, double *value); @@ -91,7 +92,6 @@ struct libconfig_interface { void (*setting_set_hook) (config_setting_t *setting, void *hook); config_setting_t * (*lookup) (const config_t *config, const char *filepath); - config_setting_t * (*lookup_from) (config_setting_t *setting, const char *filepath); int (*lookup_int) (const config_t *config, const char *filepath, int *value); int (*lookup_int64) (const config_t *config, const char *filepath, long long *value); int (*lookup_float) (const config_t *config, const char *filepath, double *value); diff --git a/src/test/test_libconfig.c b/src/test/test_libconfig.c index ff742af71..3fcc9692f 100644 --- a/src/test/test_libconfig.c +++ b/src/test/test_libconfig.c @@ -226,9 +226,9 @@ static const char *test_libconfig_lookup(void) return "libconfig->lookup failed."; } - if ((t = libconfig->lookup_from(config.root, "Setting_Int")) == NULL) { + if ((t = libconfig->setting_lookup(config.root, "Setting_Int")) == NULL) { libconfig->destroy(&config); - return "libconfig->lookup_from failed."; + return "libconfig->setting_lookup failed."; } if (libconfig->lookup_int(&config, "Setting_Int", &i32) == CONFIG_FALSE || i32 != 1) { -- cgit v1.2.3-60-g2f50