summaryrefslogtreecommitdiff
path: root/src/BtPieceMessage.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-07-03 23:23:22 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-07-03 23:23:22 +0900
commit7e6db8d801973bfc62b80f411f14d1d332a1f7aa (patch)
tree9ace3886df397907d113b97ec132e64f6729ea02 /src/BtPieceMessage.cc
parentdf0034f1cd5a3c642fba65f228da7ca0674161b8 (diff)
Use std::unique_ptr instead of array_ptr
Diffstat (limited to 'src/BtPieceMessage.cc')
-rw-r--r--src/BtPieceMessage.cc13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/BtPieceMessage.cc b/src/BtPieceMessage.cc
index 5abc35dc..fb57a171 100644
--- a/src/BtPieceMessage.cc
+++ b/src/BtPieceMessage.cc
@@ -214,16 +214,13 @@ void BtPieceMessage::send()
void BtPieceMessage::pushPieceData(int64_t offset, int32_t length) const
{
assert(length <= 16*1024);
- array_ptr<unsigned char> buf
- (new unsigned char[length+MESSAGE_HEADER_LENGTH]);
- createMessageHeader(buf);
+ auto buf = make_unique<unsigned char[]>(length+MESSAGE_HEADER_LENGTH);
+ createMessageHeader(buf.get());
ssize_t r;
- r = getPieceStorage()->getDiskAdaptor()->readData(buf+MESSAGE_HEADER_LENGTH,
- length, offset);
+ r = getPieceStorage()->getDiskAdaptor()->readData
+ (buf.get()+MESSAGE_HEADER_LENGTH, length, offset);
if(r == length) {
- unsigned char* dbuf = buf;
- buf.reset(0);
- getPeerConnection()->pushBytes(dbuf, length+MESSAGE_HEADER_LENGTH,
+ getPeerConnection()->pushBytes(buf.release(), length+MESSAGE_HEADER_LENGTH,
make_unique<PieceSendUpdate>
(getPeer(), MESSAGE_HEADER_LENGTH));
// To avoid upload rate overflow, we update the length here at