#include "c-config-parser.h" #include "config-parser.h" #include <string> // *: static class static scm::ConfigParser config; #ifdef __cplusplus extern "C" { #endif int config_run(const char* filename) { return (int)config.run(filename); } int config_is_varname(const char* name) { return (int)config.is_varname(name); } int config_get_int(const char* name, int* value) { return (int)config.get_value(name, value); } int config_get_float(const char* name, float* value) { return (int)config.get_value(name, value); } int config_get_double(const char* name, double* value) { return (int)config.get_value(name, value); } int config_get_string_len(const char* name) { std::string str; bool status = config.get_value(name, str); if (!status) return 0; return (int)str.size(); } int config_get_string_unsafe(const char* name, char* c_str) { std::string str; bool status = config.get_value(name, str); if (!status) return 0; memcpy(c_str, str.c_str(), (int)str.size() * sizeof(char)); return 1; } #ifdef __cplusplus } #endif