]> git.stg.codes - stg.git/blobdiff - projects/stargazer/plugins/configuration/sgconfig/parser_admins.cpp
Encrypt including the last \0.
[stg.git] / projects / stargazer / plugins / configuration / sgconfig / parser_admins.cpp
index 01ae9e812b84ecef7104e36894273500ece4c8b0..0db867bb3e680e1132e59a7c7a1aaaac29a0891f 100644 (file)
@@ -22,7 +22,6 @@
 #include "parser_admins.h"
 
 #include "stg/admins.h"
-#include "stg/common.h"
 
 #include <strings.h> // strcasecmp
 
@@ -31,6 +30,11 @@ using STG::PARSER::ADD_ADMIN;
 using STG::PARSER::DEL_ADMIN;
 using STG::PARSER::CHG_ADMIN;
 
+const char * GET_ADMINS::tag = "GetAdmins";
+const char * ADD_ADMIN::tag  = "AddAdmin";
+const char * DEL_ADMIN::tag  = "DelAdmin";
+const char * CHG_ADMIN::tag  = "ChgAdmin";
+
 void GET_ADMINS::CreateAnswer()
 {
     const PRIV * priv = m_currAdmin.GetPriv();
@@ -40,9 +44,7 @@ void GET_ADMINS::CreateAnswer()
         return;
     }
 
-    m_answer.clear();
-
-    m_answer += GetOpenTag();
+    m_answer = "<Admins>";
     ADMIN_CONF ac;
     int h = m_admins.OpenSearch();
 
@@ -58,14 +60,14 @@ void GET_ADMINS::CreateAnswer()
         m_answer += "<admin login=\"" + ac.login + "\" priv=\"" + x2str(p) + "\"/>";
     }
     m_admins.CloseSearch(h);
-    m_answer += GetCloseTag();
+    m_answer += "</Admins>";
 }
 
 int DEL_ADMIN::Start(void *, const char * el, const char ** attr)
 {
     if (strcasecmp(el, m_tag.c_str()) == 0)
     {
-        admin = attr[1];
+        m_admin = attr[1];
         return 0;
     }
     return -1;
@@ -73,7 +75,7 @@ int DEL_ADMIN::Start(void *, const char * el, const char ** attr)
 
 void DEL_ADMIN::CreateAnswer()
 {
-    if (m_admins.Del(admin, &m_currAdmin) == 0)
+    if (m_admins.Del(m_admin, &m_currAdmin) == 0)
         m_answer = "<" + m_tag + " Result=\"Ok\"/>";
     else
         m_answer = "<" + m_tag + " Result=\"Error. " + m_admins.GetStrError() + "\"/>";
@@ -83,7 +85,7 @@ int ADD_ADMIN::Start(void *, const char *el, const char **attr)
 {
     if (strcasecmp(el, m_tag.c_str()) == 0)
     {
-        admin = attr[1];
+        m_admin = attr[1];
         return 0;
     }
     return -1;
@@ -91,7 +93,7 @@ int ADD_ADMIN::Start(void *, const char *el, const char **attr)
 
 void ADD_ADMIN::CreateAnswer()
 {
-    if (m_admins.Add(admin, &m_currAdmin) == 0)
+    if (m_admins.Add(m_admin, &m_currAdmin) == 0)
         m_answer = "<" + m_tag + " Result=\"Ok\"/>";
     else
         m_answer = "<" + m_tag + " Result=\"Error. " + m_admins.GetStrError() + "\"/>";