diff options
author | Gluzskiy Alexandr <sss@sss.chaoslab.ru> | 2011-10-31 23:42:30 +0200 |
---|---|---|
committer | Gluzskiy Alexandr <sss@sss.chaoslab.ru> | 2011-10-31 23:42:30 +0200 |
commit | af4eb3430230f9b74a8b46e4f1ebd8b214a27dac (patch) | |
tree | dc75ba4acaf3dc0a5ebbfb58cb523ef88b1b9601 /server | |
parent | 927c9a4842afe0473f2fb13cf5385cb029de1b7d (diff) |
added support for \r\n also \n also \r end of line format ;)
Diffstat (limited to 'server')
-rw-r--r-- | server/server/config.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/server/server/config.cpp b/server/server/config.cpp index 414c589..3efadf5 100644 --- a/server/server/config.cpp +++ b/server/server/config.cpp @@ -61,12 +61,16 @@ void config::load_proxy_list(char *pth) config.close(); if(!cfg_str.empty()) { - std::string::size_type p1 = 0, p2 = 0; + std::string::size_type p1 = 0, p2 = 0, l = 0; + if(cfg_str.find("\r\n") != std::string::npos) + l = 2; + else + l = 1; p2 = cfg_str.find(';'); while(p2 != std::string::npos) { std::string line = cfg_str.substr(p1, p2-p1); - p1 = p2+1; + p1 = p2+l; std::string::size_type lp1 = 0, lp2 = 0; std::string host, login, password, country, state, city; int port = 0; @@ -127,12 +131,16 @@ void config::load_static_proxy_list(char *pth) config.close(); if(!cfg_str.empty()) { - std::string::size_type p1 = 0, p2 = 0; + std::string::size_type p1 = 0, p2 = 0, l =0; + if(cfg_str.find("\r\n") != std::string::npos) + l = 2; + else + l = 1; p2 = cfg_str.find(';'); while(p2 != std::string::npos) { std::string line = cfg_str.substr(p1, p2-p1); - p1 = p2+1; + p1 = p2+l; std::string::size_type lp1 = 0, lp2 = 0; std::string host, login, password, label; int port = 0, position = 0; |