X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/0c9d10cb3d9399280fe5eca715287d2454788654..c949afc4f9940c71c63ce6dda771eb32e6fd8c65:/projects/stargazer/plugins/configuration/sgconfig/parser.cpp

diff --git a/projects/stargazer/plugins/configuration/sgconfig/parser.cpp b/projects/stargazer/plugins/configuration/sgconfig/parser.cpp
index 52c0ea9b..03717981 100644
--- a/projects/stargazer/plugins/configuration/sgconfig/parser.cpp
+++ b/projects/stargazer/plugins/configuration/sgconfig/parser.cpp
@@ -20,36 +20,28 @@
 
 #include "parser.h"
 
-#include "stg/tariffs.h"
-#include "stg/admin.h"
-#include "stg/users.h"
-#include "stg/user_property.h"
-#include "stg/settings.h"
-#include "stg/logger.h"
-#include "stg/version.h"
-#include "stg/store.h"
-
 #include <cstring>
-#include <cstdio> // sprintf
 
 //-----------------------------------------------------------------------------
 //  BASE PARSER
 //-----------------------------------------------------------------------------
-int BASE_PARSER::Start(void *, const char *el, const char **)
+int BASE_PARSER::Start(void *, const char * el, const char **)
 {
-if (strcasecmp(el, tag.c_str()) == 0)
-    return 0;
+    if (strcasecmp(el, m_tag.c_str()) == 0)
+        return 0;
 
-return -1;
+    return -1;
 }
 //-----------------------------------------------------------------------------
-int BASE_PARSER::End(void *, const char *el)
+int BASE_PARSER::End(void *, const char * el)
 {
-if (strcasecmp(el, tag.c_str()) == 0)
+    if (m_depth < 2)
     {
-    CreateAnswer();
-    return 0;
+        if (strcasecmp(el, m_tag.c_str()) != 0)
+            return -1;
+        CreateAnswer();
     }
 
-return -1;
+    --m_depth;
+    return 0;
 }