/****************************************************************************** * * Copyright (c) 2017-2019 by Löwenware Ltd * Please, refer LICENSE file for legal information * ******************************************************************************/ /** * @file config.c * @author Ilja Kartašov * @brief * * @see https://lowenware.com/ */ #include #include "log.h" #include "config.h" static int config_callback(struct cstuff_config *cfg, void *u_ptr) { switch(cfg->evt) { case CSTUFF_CONFIG_NODE: LOG_STATE("node: %s(%d)", cfg->data.node.name, cfg->data.node.name_len); return 0; case CSTUFF_CONFIG_PAIR: LOG_STATE("node: %s(%d)->%s(%d)", cfg->data.pair.key, cfg->data.pair.key_len, cfg->data.pair.val, cfg->data.pair.val_len); return 0; case CSTUFF_CONFIG_ERROR: LOG_ERROR("config error at line %d:%d - %s", cfg->line_num, cfg->data.error.char_num, cfg->data.error.err_txt); break; default: LOG_ERROR("event unknown: %d", cfg->evt); } (void) u_ptr; return -1; } int config_read(void) { const char cfg_file[] = ARC_CONFIG_FILE; if (!cstuff_config_parse(cfg_file, config_callback, NULL)) { return 0; } LOG_ERROR("configuration failed"); return -1; }