#include "configreader.h" #include #include #include #include config_t cfg; const config_setting_t *pins; void cfginit(void) { config_init(&cfg); if (!config_read_file(&cfg, "./settings.cfg")) { fprintf(stderr, "%s:%d - %s\n", config_error_file(&cfg), config_error_line(&cfg), config_error_text(&cfg)); config_destroy(&cfg); //return(EXIT_FAILURE); } } void cfgdestroy(void) { //free ram config_destroy(&cfg); } void cfgreinit(void) { cfgdestroy(); cfginit(); } int cfgreadpinnumber(int element) { pins = config_lookup(&cfg, "pins"); int length = config_setting_length(pins); if (element < length) { return config_setting_get_int_elem(pins, element); } else { printf("No pins configuration item found.\n"); return 7; } } int cfgreadpinamount(void) { pins = config_lookup(&cfg, "pins"); return config_setting_length(pins); }