Util: Add helper functions for setting overloaded Configuration types

This commit is contained in:
Jeffrey Pfau 2014-11-04 23:48:09 -08:00
parent 11bf4fdfda
commit e884bc4d7a
2 changed files with 24 additions and 0 deletions

View File

@ -4,6 +4,8 @@
#include "third-party/inih/ini.h"
#include <float.h>
static void _sectionDeinit(void* string) {
free(string);
}
@ -53,6 +55,24 @@ void ConfigurationSetValue(struct Configuration* configuration, const char* sect
}
}
void ConfigurationSetIntValue(struct Configuration* configuration, const char* section, const char* key, int value) {
char charValue[12];
sprintf(charValue, "%i", value);
ConfigurationSetValue(configuration, section, key, charValue);
}
void ConfigurationSetUIntValue(struct Configuration* configuration, const char* section, const char* key, unsigned value) {
char charValue[12];
sprintf(charValue, "%u", value);
ConfigurationSetValue(configuration, section, key, charValue);
}
void ConfigurationSetFloatValue(struct Configuration* configuration, const char* section, const char* key, float value) {
char charValue[FLT_DIG + 7];
sprintf(charValue, "%.*g", FLT_DIG, value);
ConfigurationSetValue(configuration, section, key, charValue);
}
const char* ConfigurationGetValue(const struct Configuration* configuration, const char* section, const char* key) {
const struct Table* currentSection = &configuration->root;
if (section) {

View File

@ -14,6 +14,10 @@ void ConfigurationInit(struct Configuration*);
void ConfigurationDeinit(struct Configuration*);
void ConfigurationSetValue(struct Configuration*, const char* section, const char* key, const char* value);
void ConfigurationSetIntValue(struct Configuration*, const char* section, const char* key, int value);
void ConfigurationSetUIntValue(struct Configuration*, const char* section, const char* key, unsigned value);
void ConfigurationSetFloatValue(struct Configuration*, const char* section, const char* key, float value);
const char* ConfigurationGetValue(const struct Configuration*, const char* section, const char* key);
bool ConfigurationRead(struct Configuration*, const char* path);