]> git.ipfire.org Git - pakfire.git/commitdiff
config: Add function to map values as FILE*
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 11 Oct 2022 13:30:34 +0000 (13:30 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 11 Oct 2022 13:30:34 +0000 (13:30 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/config.c
src/libpakfire/include/pakfire/config.h

index 22fbe892b8cdb1dd02a4678321c1656be8eb6aeb..a3509a237e339ad3327105304f143b086befe48f 100644 (file)
@@ -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;
index 72b3c49393ba590b70d5fc03608b6492280e39bf..cad1b5e310d382cfe0b7e04ccc24647d64a3b0d7 100644 (file)
@@ -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);