X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fhttp%2Futils.cpp;h=41fabeff80cb83c83e1ffd430b328073a27e1eb0;hb=09858e5a153b0667b4885da81f6f979a0bf29c36;hp=5a5dc0487c0f1bf4dbd9132143e14567d7c30574;hpb=cf8d2e48581eeb8f1b83e8c48321a0bc2ffa6d83;p=libs%2Fnet.git diff --git a/source/http/utils.cpp b/source/http/utils.cpp index 5a5dc04..41fabef 100644 --- a/source/http/utils.cpp +++ b/source/http/utils.cpp @@ -1,5 +1,5 @@ #include -#include +#include #include #include #include "utils.h" @@ -79,7 +79,7 @@ string urldecode(const string &str) Url parse_url(const string &str) { - static Regex r_url("(([a-z]+)://)?([a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*(:[0-9])?)?(/[^?#]*)?(\\?([^#]+))?(#(.*))?"); + static Regex r_url("^(([a-z]+)://)?([a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*(:[0-9]+)?)?(/[^?#]*)?(\\?([^#]+))?(#(.*))?$"); if(RegMatch m = r_url.match(str)) { Url url; @@ -123,7 +123,7 @@ Query parse_query(const std::string &str) Query query; for(vector::const_iterator i=parts.begin(); i!=parts.end(); ++i) { - unsigned equals = i->find('='); + string::size_type equals = i->find('='); string &value = query[urldecode(i->substr(0, equals))]; if(equals!=string::npos) value = urldecode(i->substr(equals+1));