From: Michael Tremer Date: Tue, 11 Oct 2022 13:30:34 +0000 (+0000) Subject: config: Add function to map values as FILE* X-Git-Tag: 0.9.28~258 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6453dd4f2a3d50566c8159b0b9609f0ce31c42ae;p=pakfire.git config: Add function to map values as FILE* Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/config.c b/src/libpakfire/config.c index 22fbe892b..a3509a237 100644 --- a/src/libpakfire/config.c +++ b/src/libpakfire/config.c @@ -261,6 +261,17 @@ size_t pakfire_config_get_bytes(struct pakfire_config* config, return _default; } +FILE* pakfire_config_get_fopen(struct pakfire_config* config, + const char* section, const char* key) { + struct pakfire_config_entry* entry = pakfire_config_find(config, section, key); + + // Return the value if set + if (entry && *entry->value) + return fmemopen(entry->value, strlen(entry->value), "r"); + + return NULL; +} + static int pakfire_section_in_sections(char** sections, const char* section) { if (!sections) return 0; diff --git a/src/libpakfire/include/pakfire/config.h b/src/libpakfire/include/pakfire/config.h index 72b3c4939..cad1b5e31 100644 --- a/src/libpakfire/include/pakfire/config.h +++ b/src/libpakfire/include/pakfire/config.h @@ -42,6 +42,8 @@ int pakfire_config_get_bool(struct pakfire_config* config, const char* section, const char* key, int _default); size_t pakfire_config_get_bytes(struct pakfire_config* config, const char* section, const char* key, const size_t _default); +FILE* pakfire_config_get_fopen(struct pakfire_config* config, + const char* section, const char* key); char** pakfire_config_sections(struct pakfire_config* config); int pakfire_config_has_section(struct pakfire_config* config, const char* section);