From 60291122ae2fe6bd83a40a470e951f12f642fc73 Mon Sep 17 00:00:00 2001 From: Jeffrey Walton Date: Thu, 30 Jul 2015 11:15:51 -0400 Subject: [PATCH] Cleared "no member named 'unique_ptr' in namespace 'std'" error under C++11 on OS X --- oaep.cpp | 27 ++++++--------------------- zinflate.cpp | 10 ++++------ 2 files changed, 10 insertions(+), 27 deletions(-) diff --git a/oaep.cpp b/oaep.cpp index 2caa5441..7af7051a 100644 --- a/oaep.cpp +++ b/oaep.cpp @@ -20,12 +20,9 @@ size_t OAEP_Base::MaxUnpaddedLength(size_t paddedLength) const void OAEP_Base::Pad(RandomNumberGenerator &rng, const byte *input, size_t inputLength, byte *oaepBlock, size_t oaepBlockLen, const NameValuePairs ¶meters) const { CRYPTOPP_ASSERT (inputLength <= MaxUnpaddedLength(oaepBlockLen)); - -#if defined(CRYPTOPP_CXX11) - std::unique_ptr pHash(NewHash()); -#else - std::auto_ptr pHash(NewHash()); -#endif + + using CryptoPP::auto_ptr; + auto_ptr pHash(NewHash()); // convert from bit length to byte length if (oaepBlockLen % 8 != 0) @@ -48,13 +45,8 @@ void OAEP_Base::Pad(RandomNumberGenerator &rng, const byte *input, size_t inputL memset(maskedDB+hLen, 0, dbLen-hLen-inputLength-1); maskedDB[dbLen-inputLength-1] = 0x01; memcpy(maskedDB+dbLen-inputLength, input, inputLength); - -#if defined(CRYPTOPP_CXX11) - std::unique_ptr pMGF(NewMGF()); -#else - std::auto_ptr pMGF(NewMGF()); -#endif + auto_ptr pMGF(NewMGF()); rng.GenerateBlock(maskedSeed, seedLen); pMGF->GenerateAndMask(*pHash, maskedDB, dbLen, maskedSeed, seedLen); pMGF->GenerateAndMask(*pHash, maskedSeed, seedLen, maskedDB, dbLen); @@ -64,11 +56,8 @@ DecodingResult OAEP_Base::Unpad(const byte *oaepBlock, size_t oaepBlockLen, byte { bool invalid = false; -#if defined(CRYPTOPP_CXX11) - std::unique_ptr pHash(NewHash()); -#else + using CryptoPP::auto_ptr; std::auto_ptr pHash(NewHash()); -#endif // convert from bit length to byte length if (oaepBlockLen % 8 != 0) @@ -87,12 +76,8 @@ DecodingResult OAEP_Base::Unpad(const byte *oaepBlock, size_t oaepBlockLen, byte byte *const maskedSeed = t; byte *const maskedDB = t+seedLen; -#if defined(CRYPTOPP_CXX11) - std::unique_ptr pMGF(NewMGF()); -#else - std::auto_ptr pMGF(NewMGF()); -#endif + std::auto_ptr pMGF(NewMGF()); pMGF->GenerateAndMask(*pHash, maskedSeed, seedLen, maskedDB, dbLen); pMGF->GenerateAndMask(*pHash, maskedDB, dbLen, maskedSeed, seedLen); diff --git a/zinflate.cpp b/zinflate.cpp index 5ba63252..0a2ec2ab 100644 --- a/zinflate.cpp +++ b/zinflate.cpp @@ -587,12 +587,13 @@ struct NewFixedLiteralDecoder { HuffmanDecoder * operator()() const { + using CryptoPP::auto_ptr; unsigned int codeLengths[288]; std::fill(codeLengths + 0, codeLengths + 144, 8); std::fill(codeLengths + 144, codeLengths + 256, 9); std::fill(codeLengths + 256, codeLengths + 280, 7); std::fill(codeLengths + 280, codeLengths + 288, 8); - std::auto_ptr pDecoder(new HuffmanDecoder); + auto_ptr pDecoder(new HuffmanDecoder); pDecoder->Initialize(codeLengths, 288); return pDecoder.release(); } @@ -602,13 +603,10 @@ struct NewFixedDistanceDecoder { HuffmanDecoder * operator()() const { + using CryptoPP::auto_ptr; unsigned int codeLengths[32]; std::fill(codeLengths + 0, codeLengths + 32, 5U); -#if defined(CRYPTOPP_CXX11) - std::unique_ptr pDecoder(new HuffmanDecoder); -#else - std::auto_ptr pDecoder(new HuffmanDecoder); -#endif + auto_ptr pDecoder(new HuffmanDecoder); pDecoder->Initialize(codeLengths, 32); return pDecoder.release(); }