From 6398274efbaa7b4d4e90050d3c959c792a223cc8 Mon Sep 17 00:00:00 2001 From: weidai Date: Sat, 3 Jul 2004 01:20:11 +0000 Subject: [PATCH] allow compile with STLport again --- trunk/c5/config.h | 6 +++++- trunk/c5/ida.cpp | 8 ++++---- trunk/c5/zdeflate.cpp | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/trunk/c5/config.h b/trunk/c5/config.h index b3642802..9f0054ab 100644 --- a/trunk/c5/config.h +++ b/trunk/c5/config.h @@ -177,7 +177,11 @@ NAMESPACE_END # pragma warning(disable: 4231 4250 4251 4275 4660 4661 4786 4355) #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 #endif diff --git a/trunk/c5/ida.cpp b/trunk/c5/ida.cpp index da24da3e..cc62123a 100644 --- a/trunk/c5/ida.cpp +++ b/trunk/c5/ida.cpp @@ -391,13 +391,13 @@ unsigned int PaddingRemover::Put2(const byte *begin, unsigned int length, int me 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 - typedef reverse_bidirectional_iterator rit; + typedef reverse_bidirectional_iterator RevIt; #else - typedef reverse_iterator rit; + typedef reverse_iterator RevIt; #endif - const byte *x = find_if(rit(end), rit(begin), bind2nd(not_equal_to(), 0)).base(); + const byte *x = find_if(RevIt(end), RevIt(begin), bind2nd(not_equal_to(), 0)).base(); if (x != begin && *(x-1) == 1) { AttachedTransformation()->Put(begin, x-begin-1); diff --git a/trunk/c5/zdeflate.cpp b/trunk/c5/zdeflate.cpp index b0e9f4b6..a5a8dafb 100644 --- a/trunk/c5/zdeflate.cpp +++ b/trunk/c5/zdeflate.cpp @@ -628,7 +628,7 @@ void Deflator::EncodeBlock(bool eof, unsigned int blockType) { 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 typedef reverse_bidirectional_iterator RevIt; #else