diff options
Diffstat (limited to 'server/server/config.cpp')
-rw-r--r-- | server/server/config.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/server/server/config.cpp b/server/server/config.cpp index 1fa6ca2..cb5581a 100644 --- a/server/server/config.cpp +++ b/server/server/config.cpp @@ -222,6 +222,35 @@ void config::load_firewall_list(char* pth) } } +void config::load_deleted_list(char* pth) +{ + std::ifstream config; + if(!pth) + { + std::string cfg_path = boost::filesystem::initial_path().string(); + cfg_path += "/deleted_list.cfg"; + config.open(cfg_path.c_str(), std::fstream::in); + } + else + config.open(pth, std::fstream::in); + std::string cfg_str((std::istreambuf_iterator<char>(config)), std::istreambuf_iterator<char>()); + config.close(); + if(!cfg_str.empty()) + { + std::string::size_type p1 = 0, p2 = 0, l = 1; + if(cfg_str.find("\r\n") != std::string::npos) + l = 2; + p2 = cfg_str.find(';'); + while(p2 != std::string::npos) + { + std::string line = cfg_str.substr(p1, p2-p1); + p1 = p2+l; + deleted_list.push_back(line); + p2 = cfg_str.find(';', p1); + } + } +} + const int config::ban_time() { return vars.ban_time; @@ -270,6 +299,10 @@ std::list<std::string> *config::get_firewall_list() { return &firewall_list; } +std::list<std::string> *config::get_deleted_list() +{ + return &deleted_list; +} bool config::ignore_ssl_errors() { |