diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-05-19 11:19:18 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-05-19 11:19:18 +0000 |
| commit | f4ac2c21856bc052d14c7d4f68d06fe5854e3d5e (patch) | |
| tree | 8b61125da5f33a47914a5a8ea11ea09014a9e1cd /src/Request.cc | |
| parent | 0189bbc6bc727d161b9adcd2fa82f6c573bbf0a7 (diff) | |
2008-05-19 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Returns const reference. The internal urlencode function was
optimized
a little bit.
* src/Request.cc
* src/Request.h
* src/HttpRequest.cc
* src/HttpRequest.h
Diffstat (limited to 'src/Request.cc')
| -rw-r--r-- | src/Request.cc | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/Request.cc b/src/Request.cc index 17dee95c..aa66e2fa 100644 --- a/src/Request.cc +++ b/src/Request.cc @@ -85,9 +85,9 @@ bool Request::parseUrl(const std::string& url) { std::string tempUrl; std::string::size_type sharpIndex = url.find("#"); if(sharpIndex != std::string::npos) { - tempUrl = urlencode(url.substr(0, sharpIndex)); + urlencode(tempUrl, url.substr(0, sharpIndex)); } else { - tempUrl = urlencode(url); + urlencode(tempUrl, url); } currentUrl = tempUrl; std::string query; @@ -173,13 +173,14 @@ bool Request::isHexNumber(const char c) const return ('0' <= c && c <= '9') || ('A' <= c && c <= 'F') || ('a' <= c && c <= 'f'); } -std::string Request::urlencode(const std::string& src) const +void Request::urlencode(std::string& result, const std::string& src) const { if(src.empty()) { - return A2STR::NIL; + result = A2STR::NIL; + return; } size_t lastIndex = src.size()-1; - std::string result = src+" "; + result = src+" "; size_t index = lastIndex; while(index-- > 0) { const char c = result[index]; @@ -194,7 +195,7 @@ std::string Request::urlencode(const std::string& src) const } } } - return result.substr(0, result.size()-2); + result.erase(result.size()-2); } } // namespace aria2 |
