summaryrefslogtreecommitdiff
path: root/src/DownloadCommand.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-04-27 06:01:34 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-04-27 06:01:34 +0000
commit0f64c20da8427fcc1f38723d6e22c83da5b2ecc7 (patch)
tree3c86e38d231caf3c138cc339afd51ef8d072cd11 /src/DownloadCommand.cc
parentb74e27ff923ca4cc02fc0586a9cf08bd3d2e7705 (diff)
2008-04-27 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Fixed compilation error without gcrypt/openssl. * src/DownloadCommand.cc * src/DownloadCommand.h
Diffstat (limited to 'src/DownloadCommand.cc')
-rw-r--r--src/DownloadCommand.cc14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/DownloadCommand.cc b/src/DownloadCommand.cc
index 15d08e3f..bd98519a 100644
--- a/src/DownloadCommand.cc
+++ b/src/DownloadCommand.cc
@@ -67,16 +67,13 @@ DownloadCommand::DownloadCommand(int cuid,
RequestGroup* requestGroup,
DownloadEngine* e,
const SocketHandle& s):
- AbstractCommand(cuid, req, requestGroup, e, s),
-#ifdef ENABLE_MESSAGE_DIGEST
- _messageDigestContext(0)
-#endif // ENABLE_MESSAGE_DIGEST
+ AbstractCommand(cuid, req, requestGroup, e, s)
{
#ifdef ENABLE_MESSAGE_DIGEST
{
std::string algo = _requestGroup->getDownloadContext()->getPieceHashAlgo();
if(MessageDigestContext::supports(algo)) {
- _messageDigestContext = new MessageDigestContext();
+ _messageDigestContext.reset(new MessageDigestContext());
_messageDigestContext->trySetAlgo(algo);
_messageDigestContext->digestInit();
}
@@ -93,9 +90,6 @@ DownloadCommand::DownloadCommand(int cuid,
DownloadCommand::~DownloadCommand() {
assert(peerStat.get());
peerStat->downloadStop();
-#ifdef ENABLE_MESSAGE_DIGEST
- delete _messageDigestContext;
-#endif // ENABLE_MESSAGE_DIGEST
}
bool DownloadCommand::executeInternal() {
@@ -202,12 +196,12 @@ void DownloadCommand::validatePieceHash(const SegmentHandle& segment)
#ifdef ENABLE_MESSAGE_DIGEST
std::string expectedPieceHash =
_requestGroup->getDownloadContext()->getPieceHash(segment->getIndex());
- if(_messageDigestContext &&
+ if(!_messageDigestContext.isNull() &&
e->option->get(PREF_REALTIME_CHUNK_CHECKSUM) == V_TRUE &&
!expectedPieceHash.empty()) {
_messageDigestContext->digestReset();
std::string actualPieceHash =
- MessageDigestHelper::digest(_messageDigestContext,
+ MessageDigestHelper::digest(_messageDigestContext.get(),
_requestGroup->getPieceStorage()->getDiskAdaptor(),
segment->getPosition(),
segment->getLength());