-//NODE * node;
-SERVCONF * sc;
-char ans[ENC_MSG_LEN + 1];
-int len, done = 0;
-
-sc = (SERVCONF*)data;
-
-XML_ParserReset(sc->parser, NULL);
-XML_SetElementHandler(sc->parser, Start, End);
-XML_SetUserData(sc->parser, data);
-
-//loop parsing
-list<string>::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)
- {
- snprintf(sc->errorMsg, MAX_ERR_STR_LEN, "XML parse error at line %d: %s",
- static_cast<int>(XML_GetCurrentLineNumber(sc->parser)),
- XML_ErrorString(XML_GetErrorCode(sc->parser)));
- printf(sc->errorMsg, "XML parse error at line %d: %s",
- XML_GetCurrentLineNumber(sc->parser),
- XML_ErrorString(XML_GetErrorCode(sc->parser)));
- return st_xml_parse_error;
- }
- ++node;