]> git.stg.codes - stg.git/blobdiff - stglibs/srvconf.lib/servconf.h
Prevent memory leak in smux plugin
[stg.git] / stglibs / srvconf.lib / servconf.h
index 874b6ab12b41aa6b20613b6895f8d08e987ab85d..67c2f248dbae85c49b08fb1cf7f4eaa0189170e2 100644 (file)
@@ -32,9 +32,9 @@
 #include <list>
 #include <string>
 
 #include <list>
 #include <string>
 
-#include "os_int.h"
+#include "stg/os_int.h"
+#include "stg/const.h"
 #include "netunit.h"
 #include "netunit.h"
-#include "stg_const.h"
 
 void Start(void *data, const char *el, const char **attr);
 void End(void *data, const char *el);
 
 void Start(void *data, const char *el, const char **attr);
 void End(void *data, const char *el);
@@ -72,6 +72,7 @@ struct USERDATA
     std::string     password;
     double          cash;
     double          credit;
     std::string     password;
     double          cash;
     double          credit;
+    time_t          creditExpire;
     double          lastCash;
     double          prepaidTraff;
     int             down;
     double          lastCash;
     double          prepaidTraff;
     int             down;
@@ -203,7 +204,6 @@ private:
 
     RecvServerInfoDataCb_t RecvServerInfoDataCb;
     void * serverInfoDataCb;
 
     RecvServerInfoDataCb_t RecvServerInfoDataCb;
     void * serverInfoDataCb;
-    USERDATA user;
     int depth;
     bool error;
     SERVERINFO serverInfo;
     int depth;
     bool error;
     SERVERINFO serverInfo;
@@ -250,8 +250,8 @@ public:
     int GetServerInfo();
     int CheckUser(const char * login, const char * password);
 
     int GetServerInfo();
     int CheckUser(const char * login, const char * password);
 
-    char * GetStrError();
-    int  GetError();
+    const std::string & GetStrError() const;
+    int GetError();
     int Start(const char *el, const char **attr);
     void End(const char *el);
 
     int Start(const char *el, const char **attr);
     void End(const char *el);
 
@@ -267,11 +267,10 @@ private:
 
     NETTRANSACT nt;
     int parseDepth;
 
     NETTRANSACT nt;
     int parseDepth;
-    USERDATA ud;
 
 
-    char    errorMsg[MAX_ERR_STR_LEN];
-    int     error;
-    XML_Parser      parser;
+    std::string errorMsg;
+    int error;
+    XML_Parser parser;
 
     RecvUserDataCb_t RecvUserDataCb;
     RecvUserDataCb_t RecvGetUserDataCb;
 
     RecvUserDataCb_t RecvUserDataCb;
     RecvUserDataCb_t RecvGetUserDataCb;