summaryrefslogtreecommitdiff
path: root/src/IteratableChunkChecksumValidator.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2015-06-21 18:04:30 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2015-06-21 19:29:54 +0900
commit318c804504e32b7a0bbdbb35336d2e918000d80a (patch)
treefad396aee04c44a29ee79b33e1675db2275146c0 /src/IteratableChunkChecksumValidator.cc
parent8ba9b0474747185708a25943fb6d2f97b3d9b17f (diff)
Use user-defined literal for k, m, and g (powers of 1024)
Diffstat (limited to 'src/IteratableChunkChecksumValidator.cc')
-rw-r--r--src/IteratableChunkChecksumValidator.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/IteratableChunkChecksumValidator.cc b/src/IteratableChunkChecksumValidator.cc
index 595e5c44..5d37e977 100644
--- a/src/IteratableChunkChecksumValidator.cc
+++ b/src/IteratableChunkChecksumValidator.cc
@@ -121,18 +121,19 @@ void IteratableChunkChecksumValidator::init()
std::string IteratableChunkChecksumValidator::digest(int64_t offset, size_t length)
{
- unsigned char buf[4096];
+ std::array<unsigned char, 4_k> buf;
ctx_->reset();
int64_t max = offset+length;
while(offset < max) {
- size_t r = pieceStorage_->getDiskAdaptor()->readDataDropCache
- (buf, std::min(static_cast<int64_t>(sizeof(buf)), max-offset), offset);
+ size_t r = pieceStorage_->getDiskAdaptor()->readDataDropCache(
+ buf.data(), std::min(static_cast<int64_t>(buf.size()), max - offset),
+ offset);
if(r == 0) {
throw DL_ABORT_EX
(fmt(EX_FILE_READ, dctx_->getBasePath().c_str(),
"data is too short"));
}
- ctx_->update(buf, r);
+ ctx_->update(buf.data(), r);
offset += r;
}
return ctx_->digest();