summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;