X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/56d1a7c8820bd8913b68eafb8566a4185dd188b1..d160ca225cd39f7e187bf1b07d96eab5f2901292:/projects/stargazer/plugins/configuration/sgconfig/parser_services.cpp diff --git a/projects/stargazer/plugins/configuration/sgconfig/parser_services.cpp b/projects/stargazer/plugins/configuration/sgconfig/parser_services.cpp index 59e7f03c..a9599d54 100644 --- a/projects/stargazer/plugins/configuration/sgconfig/parser_services.cpp +++ b/projects/stargazer/plugins/configuration/sgconfig/parser_services.cpp @@ -34,7 +34,7 @@ const char * GET_SERVICES::tag = "GetServices"; const char * GET_SERVICE::tag = "AddService"; const char * ADD_SERVICE::tag = "AddService"; const char * DEL_SERVICE::tag = "DelService"; -const char * CHG_SERVICE::tag = "ChgService"; +const char * CHG_SERVICE::tag = "SetService"; void GET_SERVICES::CreateAnswer() { @@ -106,7 +106,7 @@ void ADD_SERVICE::CreateAnswer() if (m_services.Add(conf, &m_currAdmin) == 0) m_answer = "<" + m_tag + " result=\"Ok\"/>"; else - m_answer = "<" + m_tag + " result=\"Error. " + m_services.GetStrError() + "\"/>"; + m_answer = "<" + m_tag + " result=\"" + m_services.GetStrError() + "\"/>"; } int DEL_SERVICE::Start(void *, const char * el, const char ** attr) @@ -124,7 +124,7 @@ void DEL_SERVICE::CreateAnswer() if (m_services.Del(m_name, &m_currAdmin) == 0) m_answer = "<" + m_tag + " result=\"Ok\"/>"; else - m_answer = "<" + m_tag + " result=\"Error. " + m_services.GetStrError() + "\"/>"; + m_answer = "<" + m_tag + " result=\"" + m_services.GetStrError() + "\"/>"; } int CHG_SERVICE::Start(void *, const char * el, const char ** attr) @@ -133,7 +133,6 @@ int CHG_SERVICE::Start(void *, const char * el, const char ** attr) { for (size_t i = 0; i < 8; i += 2) { - printfd(__FILE__, "PARSER_CHG_SERVICE::attr[%d] = %s\n", i, attr[i]); if (attr[i] == NULL) break; @@ -154,6 +153,8 @@ int CHG_SERVICE::Start(void *, const char * el, const char ** attr) double cost = 0; if (str2x(attr[i + 1], cost) == 0) m_service.cost = cost; + else + printfd(__FILE__, "Bad cast from '%s' to double\n", attr[i + 1]); // TODO: log it continue; } @@ -163,6 +164,8 @@ int CHG_SERVICE::Start(void *, const char * el, const char ** attr) unsigned payDay; if (str2x(attr[i + 1], payDay) == 0) m_service.payDay = payDay; + else + printfd(__FILE__, "Bad cast from '%s' to unsigned\n", attr[i + 1]); // TODO: log it continue; } @@ -190,9 +193,10 @@ void CHG_SERVICE::CreateAnswer() SERVICE_CONF orig; m_services.Find(m_service.name.const_data(), &orig); - m_service.Splice(orig); + SERVICE_CONF_RES conf(orig); + conf.Splice(m_service); - if (m_services.Change(m_service.GetData(), &m_currAdmin) != 0) + if (m_services.Change(conf.GetData(), &m_currAdmin) != 0) m_answer = "<" + m_tag + " result = \"" + m_services.GetStrError() + "\"/>"; else m_answer = "<" + m_tag + " result = \"Ok\"/>";