X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/43ba8e3e23937f2105f8eba4a35f32e8d25b5229..refs/heads/stg-2.409-radius:/projects/sgconf_xml/parser.cpp diff --git a/projects/sgconf_xml/parser.cpp b/projects/sgconf_xml/parser.cpp index 99b48a7b..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 "stg/common.h" -#include "stg/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;