X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/09c44c9a7e8c870e07827b3fc34811cd917b6115..b4dba83ccd632236b4f6ac78caa6637bc0874e35:/projects/sgconf_xml/parser.cpp diff --git a/projects/sgconf_xml/parser.cpp b/projects/sgconf_xml/parser.cpp index df18975e..23ec776a 100644 --- a/projects/sgconf_xml/parser.cpp +++ b/projects/sgconf_xml/parser.cpp @@ -1,12 +1,12 @@ +#include "stg/common.h" +#include "stg/netunit.h" +#include "request.h" + #include #include #include #include -#include "common.h" -#include "netunit.h" -#include "request.h" - int parse_depth = 0; XML_Parser parser; //--------------------------------------------------------------------------- @@ -92,16 +92,14 @@ if (strncasecmp(el, "dir_name_", 9) == 0 || strcasecmp(el, "address") == 0 || st if (strcasecmp(el, "traff") == 0) { -// printf ("\n"); int j = 0; - uint64_t t; while (attr[j]) { + uint64_t t; str2x(attr[j+1], t); printf ("<%s>%lld\n", attr[j], t, attr[j]); j+=2; } -// printf ("\n"); return; } else @@ -109,7 +107,6 @@ else printf ("<%s>%s\n", el, attr[1], el); return; } -// } parse_depth++; if (parse_depth == 1) { @@ -130,17 +127,17 @@ if (parse_depth == 1) void EndElement(void *, const char *el) { parse_depth--; -if (strcasecmp(el, "ServerInfo") == 0 || strcasecmp(el, "Tariffs") == 0 || strcasecmp(el, "Admins") == 0 || strcasecmp(el, "Users") == 0 || strcasecmp(el, "tariff") == 0 || strcasecmp(el, "user") == 0) - { +if (strcasecmp(el, "ServerInfo") == 0 || + strcasecmp(el, "Tariffs") == 0 || + strcasecmp(el, "Admins") == 0 || + strcasecmp(el, "Users") == 0 || + strcasecmp(el, "tariff") == 0 || + strcasecmp(el, "user") == 0) printf ("\n", el); - } } //--------------------------------------------------------------------------- int ParseReply(void *, list * ans) -//int ParseReply(void * data, SLIST * ans) { -//char answ[ENC_MSG_LEN + 1]; -int len; int done = 0; parse_depth = 0; @@ -158,7 +155,7 @@ XML_SetElementHandler(parser, StartElement, EndElement); list::iterator n = ans->begin(); while (n != ans->end()) { - len = strlen(n->c_str()); + int len = strlen(n->c_str()); if (++n == ans->end()) done = 1; @@ -166,8 +163,7 @@ while (n != ans->end()) if (XML_Parse(parser, n->c_str(), len, done) == XML_STATUS_ERROR) { - char s[128]; - printf(s, "Parse error at line %d: %s", + printf("Parse error at line %d: %s", XML_GetCurrentLineNumber(parser), XML_ErrorString(XML_GetErrorCode(parser))); return st_xml_parse_error;