summaryrefslogtreecommitdiff
path: root/src/HttpHeader.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/HttpHeader.cc')
-rw-r--r--src/HttpHeader.cc15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/HttpHeader.cc b/src/HttpHeader.cc
index d33735e3..363ffcb3 100644
--- a/src/HttpHeader.cc
+++ b/src/HttpHeader.cc
@@ -128,7 +128,7 @@ uint64_t HttpHeader::getFirstAsULLInt(const std::string& name) const {
if(value.empty()) {
return 0;
} else {
- return util::parseULLInt(value);
+ return util::parseULLInt(value.begin(), value.end());
}
}
@@ -136,11 +136,12 @@ RangeHandle HttpHeader::getRange() const
{
const std::string& rangeStr = getFirst(CONTENT_RANGE);
if(rangeStr.empty()) {
- const std::string& contentLengthStr = getFirst(CONTENT_LENGTH);
- if(contentLengthStr.empty()) {
+ const std::string& clenStr = getFirst(CONTENT_LENGTH);
+ if(clenStr.empty()) {
return SharedHandle<Range>(new Range());
} else {
- uint64_t contentLength = util::parseULLInt(contentLengthStr);
+ uint64_t contentLength =
+ util::parseULLInt(clenStr.begin(), clenStr.end());
if(contentLength == 0) {
return SharedHandle<Range>(new Range());
} else {
@@ -177,9 +178,9 @@ RangeHandle HttpHeader::getRange() const
if(minus == slash) {
return SharedHandle<Range>(new Range());
}
- off_t startByte = util::parseLLInt(std::string(byteRangeSpec, minus));
- off_t endByte = util::parseLLInt(std::string(minus+1, slash));
- uint64_t entityLength = util::parseULLInt(std::string(slash+1, rangeStr.end()));
+ off_t startByte = util::parseLLInt(byteRangeSpec, minus);
+ off_t endByte = util::parseLLInt(minus+1, slash);
+ uint64_t entityLength = util::parseULLInt(slash+1, rangeStr.end());
return SharedHandle<Range>(new Range(startByte, endByte, entityLength));
}