diff options
author | nicolas.dufresne@gmail.com <nicolas.dufresne@gmail.com@c587cffe-e639-0410-9787-d7902ae8ed56> | 2012-07-05 19:15:11 +0000 |
---|---|---|
committer | nicolas.dufresne@gmail.com <nicolas.dufresne@gmail.com@c587cffe-e639-0410-9787-d7902ae8ed56> | 2012-07-05 19:15:11 +0000 |
commit | 03d514ddbb24c067e5e5d23f7bf448b1292542b0 (patch) | |
tree | a439e35444b7ce9630929543c550c3802a5edc25 /libproxy | |
parent | b518056aecb64d7ce4097696a82a2b8afbfdcea5 (diff) | |
download | libproxy-03d514ddbb24c067e5e5d23f7bf448b1292542b0.tar.gz |
Don't confuse ":" in path with a port divider
git-svn-id: http://libproxy.googlecode.com/svn/trunk@846 c587cffe-e639-0410-9787-d7902ae8ed56
Diffstat (limited to 'libproxy')
-rw-r--r-- | libproxy/test/url-test.cpp | 22 | ||||
-rw-r--r-- | libproxy/url.cpp | 2 |
2 files changed, 24 insertions, 0 deletions
diff --git a/libproxy/test/url-test.cpp b/libproxy/test/url-test.cpp index b66ae35..f5ede04 100644 --- a/libproxy/test/url-test.cpp +++ b/libproxy/test/url-test.cpp @@ -145,6 +145,28 @@ int main() "", 80, ""); + /* Check windows style URL */ + try_url ("file:///E:/dir/file.pac", rtv, + "file", + "", "", + "", 0, +#ifdef WIN32 + "E:\\dir\\file.pac"); +#else + "/E:/dir/file.pac"); +#endif + + /* UNC windows URL */ + try_url ("file://server/dir/file.pac", rtv, + "file", + "", "", + "server", 0, +#ifdef WIN32 + "\\\\server\\dir\\file.pac"); +#else + "/dir/file.pac"); +#endif + #ifdef WIN32 WSACleanup(); #endif diff --git a/libproxy/url.cpp b/libproxy/url.cpp index cd781df..d00adfd 100644 --- a/libproxy/url.cpp +++ b/libproxy/url.cpp @@ -212,6 +212,8 @@ url::url(const string &url) throw(parse_error) host_end = string::npos; } else { host_end = hier_part.find(':', host_start); + if (path_start < host_end) + host_end = path_start; } /* If not port, host ends where path starts */ |