diff options
Diffstat (limited to 'src/util/util.c')
-rw-r--r-- | src/util/util.c | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/src/util/util.c b/src/util/util.c index 440b49fa..de085d08 100644 --- a/src/util/util.c +++ b/src/util/util.c @@ -16,7 +16,7 @@ /** * @file util.c - * @brief Common utility functions + * @brief Common utility functions; we might choose to move those to GNUnet at some point * @author Sree Harsha Totakura <sreeharsha@totakura.in> * @author Florian Dold * @author Benedikt Mueller @@ -60,4 +60,33 @@ TALER_data_to_string_alloc (const void *buf, size_t size) } +/** + * Load configuration by parsing all configuration + * files in the given directory. + * + * @param base_dir directory with the configuration files + * @return NULL on error, otherwise configuration + */ +struct GNUNET_CONFIGURATION_Handle * +TALER_config_load (const char *base_dir) +{ + struct GNUNET_CONFIGURATION_Handle *cfg; + char *cfg_dir; + int res; + + res = GNUNET_asprintf (&cfg_dir, + "%s" DIR_SEPARATOR_STR "config", + base_dir); + GNUNET_assert (res > 0); + cfg = GNUNET_CONFIGURATION_create (); + res = GNUNET_CONFIGURATION_load_from (cfg, cfg_dir); + GNUNET_free (cfg_dir); + if (GNUNET_OK != res) + return NULL; + return cfg; +} + + + + /* end of util.c */ |