AppleTLS: Fix MessageDigestImpl

pull/104/head
Nils Maier 2013-07-05 20:12:53 +02:00
parent 59ba3c99f6
commit d4044306f3
2 changed files with 12 additions and 12 deletions

View File

@ -108,31 +108,31 @@ typedef MessageDigestBase<CC_SHA512_DIGEST_LENGTH,
CC_SHA512_Final> CC_SHA512_Final>
MessageDigestSHA512; MessageDigestSHA512;
std::shared_ptr<MessageDigestImpl> MessageDigestImpl::sha1() std::unique_ptr<MessageDigestImpl> MessageDigestImpl::sha1()
{ {
return std::shared_ptr<MessageDigestImpl>(new MessageDigestSHA1()); return std::unique_ptr<MessageDigestImpl>(new MessageDigestSHA1());
} }
std::shared_ptr<MessageDigestImpl> MessageDigestImpl::create std::unique_ptr<MessageDigestImpl> MessageDigestImpl::create
(const std::string& hashType) (const std::string& hashType)
{ {
if (hashType == "sha-1") { if (hashType == "sha-1") {
return std::shared_ptr<MessageDigestImpl>(new MessageDigestSHA1()); return std::unique_ptr<MessageDigestImpl>(new MessageDigestSHA1());
} }
if (hashType == "sha-224") { if (hashType == "sha-224") {
return std::shared_ptr<MessageDigestImpl>(new MessageDigestSHA224()); return std::unique_ptr<MessageDigestImpl>(new MessageDigestSHA224());
} }
if (hashType == "sha-256") { if (hashType == "sha-256") {
return std::shared_ptr<MessageDigestImpl>(new MessageDigestSHA256()); return std::unique_ptr<MessageDigestImpl>(new MessageDigestSHA256());
} }
if (hashType == "sha-384") { if (hashType == "sha-384") {
return std::shared_ptr<MessageDigestImpl>(new MessageDigestSHA384()); return std::unique_ptr<MessageDigestImpl>(new MessageDigestSHA384());
} }
if (hashType == "sha-512") { if (hashType == "sha-512") {
return std::shared_ptr<MessageDigestImpl>(new MessageDigestSHA512()); return std::unique_ptr<MessageDigestImpl>(new MessageDigestSHA512());
} }
if (hashType == "md5") { if (hashType == "md5") {
return std::shared_ptr<MessageDigestImpl>(new MessageDigestMD5()); return std::unique_ptr<MessageDigestImpl>(new MessageDigestMD5());
} }
return nullptr; return nullptr;
} }
@ -144,7 +144,7 @@ bool MessageDigestImpl::supports(const std::string& hashType)
size_t MessageDigestImpl::getDigestLength(const std::string& hashType) size_t MessageDigestImpl::getDigestLength(const std::string& hashType)
{ {
std::shared_ptr<MessageDigestImpl> impl = create(hashType); std::unique_ptr<MessageDigestImpl> impl = create(hashType);
if (!impl) { if (!impl) {
return 0; return 0;
} }

View File

@ -45,8 +45,8 @@ namespace aria2 {
class MessageDigestImpl { class MessageDigestImpl {
public: public:
virtual ~MessageDigestImpl() {} virtual ~MessageDigestImpl() {}
static std::shared_ptr<MessageDigestImpl> sha1(); static std::unique_ptr<MessageDigestImpl> sha1();
static std::shared_ptr<MessageDigestImpl> create(const std::string& hashType); static std::unique_ptr<MessageDigestImpl> create(const std::string& hashType);
static bool supports(const std::string& hashType); static bool supports(const std::string& hashType);
static size_t getDigestLength(const std::string& hashType); static size_t getDigestLength(const std::string& hashType);