summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGluzskiy Alexandr <sss@sss.chaoslab.ru>2011-10-31 23:42:30 +0200
committerGluzskiy Alexandr <sss@sss.chaoslab.ru>2011-10-31 23:42:30 +0200
commitaf4eb3430230f9b74a8b46e4f1ebd8b214a27dac (patch)
treedc75ba4acaf3dc0a5ebbfb58cb523ef88b1b9601
parent927c9a4842afe0473f2fb13cf5385cb029de1b7d (diff)
added support for \r\n also \n also \r end of line format ;)
-rw-r--r--server/server/config.cpp16
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;