allow compile with STLport again

import/raw
weidai 2004-07-03 01:20:11 +00:00
parent 16b2928152
commit 6398274efb
3 changed files with 10 additions and 6 deletions

View File

@ -177,7 +177,11 @@ NAMESPACE_END
# pragma warning(disable: 4231 4250 4251 4275 4660 4661 4786 4355) # pragma warning(disable: 4231 4250 4251 4275 4660 4661 4786 4355)
#endif #endif
#if !(defined(_MSC_VER) && _MSC_VER <= 1300) && !defined(__MWERKS__) #if (defined(_MSC_VER) && _MSC_VER <= 1300) || defined(__MWERKS__) || defined(_STLPORT_VERSION)
#define CRYPTOPP_DISABLE_UNCAUGHT_EXCEPTION
#endif
#ifndef CRYPTOPP_DISABLE_UNCAUGHT_EXCEPTION
#define CRYPTOPP_UNCAUGHT_EXCEPTION_AVAILABLE #define CRYPTOPP_UNCAUGHT_EXCEPTION_AVAILABLE
#endif #endif

View File

@ -391,13 +391,13 @@ unsigned int PaddingRemover::Put2(const byte *begin, unsigned int length, int me
m_possiblePadding = false; m_possiblePadding = false;
} }
#if defined(_MSC_VER) && !defined(__MWERKS__) #if defined(_MSC_VER) && !defined(__MWERKS__) && (_MSC_VER < 1300)
// VC60 workaround: built-in reverse_iterator has two template parameters, Dinkumware only has one // VC60 workaround: built-in reverse_iterator has two template parameters, Dinkumware only has one
typedef reverse_bidirectional_iterator<const byte *, const byte> rit; typedef reverse_bidirectional_iterator<const byte *, const byte> RevIt;
#else #else
typedef reverse_iterator<const byte *> rit; typedef reverse_iterator<const byte *> RevIt;
#endif #endif
const byte *x = find_if(rit(end), rit(begin), bind2nd(not_equal_to<byte>(), 0)).base(); const byte *x = find_if(RevIt(end), RevIt(begin), bind2nd(not_equal_to<byte>(), 0)).base();
if (x != begin && *(x-1) == 1) if (x != begin && *(x-1) == 1)
{ {
AttachedTransformation()->Put(begin, x-begin-1); AttachedTransformation()->Put(begin, x-begin-1);

View File

@ -628,7 +628,7 @@ void Deflator::EncodeBlock(bool eof, unsigned int blockType)
{ {
if (blockType == DYNAMIC) if (blockType == DYNAMIC)
{ {
#if defined(_MSC_VER) && !defined(__MWERKS__) #if defined(_MSC_VER) && !defined(__MWERKS__) && (_MSC_VER < 1300)
// VC60 workaround: built-in reverse_iterator has two template parameters, Dinkumware only has one // VC60 workaround: built-in reverse_iterator has two template parameters, Dinkumware only has one
typedef reverse_bidirectional_iterator<unsigned int *, unsigned int> RevIt; typedef reverse_bidirectional_iterator<unsigned int *, unsigned int> RevIt;
#else #else