X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/26d5d878270d01123669ba6a38c306c398ed7b8d..02d8ff35c9a854ffd15a701e46a118bc51be3b7d:/stglibs/srvconf.lib/servconf.cpp diff --git a/stglibs/srvconf.lib/servconf.cpp b/stglibs/srvconf.lib/servconf.cpp index 7b2c85ec..7848787b 100644 --- a/stglibs/srvconf.lib/servconf.cpp +++ b/stglibs/srvconf.lib/servconf.cpp @@ -35,31 +35,23 @@ using namespace std; //----------------------------------------------------------------------------- int AnsRecv(void * data, list * list1) { -//NODE * node; -SERVCONF * sc; -char ans[ENC_MSG_LEN + 1]; -int len, done = 0; - -sc = (SERVCONF*)data; +SERVCONF * sc = static_cast(data); XML_ParserReset(sc->parser, NULL); XML_SetElementHandler(sc->parser, Start, End); XML_SetUserData(sc->parser, data); +char ans[ENC_MSG_LEN + 1]; +int len, done = 0; + //loop parsing list::iterator node; node = list1->begin(); -if (node == list1->end()) - { - return st_ok; - } - while (node != list1->end()) { strncpy(ans, node->c_str(), ENC_MSG_LEN); ans[ENC_MSG_LEN] = 0; - //printf("---> %s\n", ans); len = strlen(ans); if (XML_Parse(sc->parser, ans, len, done) == XML_STATUS_ERROR) @@ -67,13 +59,14 @@ while (node != list1->end()) strprintf(&sc->errorMsg, "XML parse error at line %d: %s", static_cast(XML_GetCurrentLineNumber(sc->parser)), XML_ErrorString(XML_GetErrorCode(sc->parser))); + printf("%s\n", sc->errorMsg.c_str()); return st_xml_parse_error; } ++node; } -return 0; +return st_ok; } //----------------------------------------------------------------------------- void Start(void *data, const char *el, const char **attr) @@ -94,16 +87,16 @@ SERVCONF::SERVCONF() : currParser(NULL), parseDepth(0), error(0), - RecvUserDataCb(NULL), - RecvGetUserDataCb(NULL), + getUsersCallback(NULL), + getUserCallback(NULL), authByCallback(NULL), serverInfoCallback(NULL), RecvChgUserCb(NULL), checkUserCallback(NULL), RecvSendMessageCb(NULL), - getUserDataDataCb(NULL), + getUsersData(NULL), + getUserData(NULL), authByData(NULL), - getUsersDataDataCb(NULL), serverInfoData(NULL), chgUserDataCb(NULL), checkUserData(NULL),