X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fhttp%2Fformdata.cpp;h=4f2b7b3fa4de926e983f173d8dd7fdc386ce8fab;hb=cc2e643d6ec3025db3fb6f0a4c1f77af05cf1026;hp=182c5bbbdc7bfc1890cbf6e74380f6ac785902c1;hpb=049fc42b671d623815408c3658a450b73063fec5;p=libs%2Fnet.git diff --git a/source/http/formdata.cpp b/source/http/formdata.cpp index 182c5bb..4f2b7b3 100644 --- a/source/http/formdata.cpp +++ b/source/http/formdata.cpp @@ -1,9 +1,9 @@ +#include "formdata.h" #include #include "header.h" #include "request.h" #include "submessage.h" #include "utils.h" -#include "formdata.h" using namespace std; @@ -53,15 +53,15 @@ void FormData::parse_multipart(const Request &req, const string &boundary) if(is_boundary) { - /* The CRLF preceding the boundary delimiter is treated as part - of the delimiter as per RFC 2046 */ - string::size_type part_end = line_start-1; - if(content[part_end-1]=='\r') - --part_end; - if(part_start>0) { - SubMessage part = SubMessage::parse(content.substr(part_start, line_start-part_start)); + /* The CRLF preceding the boundary delimiter is treated as part + of the delimiter as per RFC 2046 */ + string::size_type part_end = line_start-1; + if(content[part_end-1]=='\r') + --part_end; + + SubMessage part = SubMessage::parse(content.substr(part_start, part_end-part_start)); Header content_disposition(part, "Content-Disposition"); const Header::Value &cd_value = content_disposition.values.at(0); if(cd_value.value=="form-data") @@ -72,10 +72,10 @@ void FormData::parse_multipart(const Request &req, const string &boundary) } part_start = lf+1; - } - if(!content.compare(line_start+2+boundary.size(), 2, "--")) - break; + if(!content.compare(line_start+2+boundary.size(), 2, "--")) + break; + } line_start = lf+1; } @@ -83,7 +83,7 @@ void FormData::parse_multipart(const Request &req, const string &boundary) const string &FormData::get_value(const string &key) const { - map::const_iterator i = fields.find(key); + auto i = fields.find(key); if(i==fields.end()) { static string dummy;