diff options
author | Benoit Foucher <benoit@zeroc.com> | 2015-01-08 10:30:04 +0100 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2015-01-08 10:30:04 +0100 |
commit | 60a300bb9e342d4b92536c35ba8490e656ec05e5 (patch) | |
tree | 6340ccc38fa558b969d5324dff629d677d37afbc /cpp/src | |
parent | Added ICE_HAS_BZIP2 macro (diff) | |
download | ice-60a300bb9e342d4b92536c35ba8490e656ec05e5.tar.bz2 ice-60a300bb9e342d4b92536c35ba8490e656ec05e5.tar.xz ice-60a300bb9e342d4b92536c35ba8490e656ec05e5.zip |
Additional fix for ICE_HAS_BZIP2 macro
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/Ice/ConnectionI.cpp | 15 | ||||
-rw-r--r-- | cpp/src/Ice/ConnectionI.h | 10 |
2 files changed, 16 insertions, 9 deletions
diff --git a/cpp/src/Ice/ConnectionI.cpp b/cpp/src/Ice/ConnectionI.cpp index 5f4a4232bd4..45b80883a56 100644 --- a/cpp/src/Ice/ConnectionI.cpp +++ b/cpp/src/Ice/ConnectionI.cpp @@ -28,11 +28,8 @@ #include <Ice/ReferenceFactory.h> // For createProxy(). #include <Ice/ProxyFactory.h> // For createProxy(). -#if !defined(ICE_OS_WINRT) -# ifndef ICE_HAS_BZIP2 -# define ICE_HAS_BZIP2 -# endif -# include <bzlib.h> +#ifdef ICE_HAS_BZIP2 +# include <bzlib.h> #endif using namespace std; @@ -3455,14 +3452,18 @@ Ice::ConnectionI::parseMessage(BasicStream& stream, Int& invokeNum, Int& request stream.read(messageType); stream.read(compress); -#ifdef ICE_HAS_BZIP2 if(compress == 2) { +#ifdef ICE_HAS_BZIP2 BasicStream ustream(_instance.get(), Ice::currentProtocolEncoding); doUncompress(stream, ustream); stream.b.swap(ustream.b); - } +#else + FeatureNotSupportedException ex(__FILE__, __LINE__); + ex.unsupportedFeature = "Cannot uncompress compressed message"; + throw ex; #endif + } stream.i = stream.b.begin() + headerSize; switch(messageType) diff --git a/cpp/src/Ice/ConnectionI.h b/cpp/src/Ice/ConnectionI.h index 65aec9908f5..7dc0db9a2b4 100644 --- a/cpp/src/Ice/ConnectionI.h +++ b/cpp/src/Ice/ConnectionI.h @@ -15,6 +15,7 @@ #include <IceUtil/Time.h> #include <IceUtil/StopWatch.h> #include <IceUtil/Timer.h> +#include <IceUtil/UniquePtr.h> #include <Ice/CommunicatorF.h> #include <Ice/Connection.h> @@ -38,7 +39,12 @@ #include <Ice/ACM.h> #include <deque> -#include <IceUtil/UniquePtr.h> + +#if !defined(ICE_OS_WINRT) +# ifndef ICE_HAS_BZIP2 +# define ICE_HAS_BZIP2 +# endif +#endif namespace IceInternal { @@ -266,7 +272,7 @@ private: IceInternal::SocketOperation sendNextMessage(std::vector<OutgoingMessage>&); IceInternal::AsyncStatus sendMessage(OutgoingMessage&); -#ifndef ICE_OS_WINRT +#ifdef ICE_HAS_BZIP2 void doCompress(IceInternal::BasicStream&, IceInternal::BasicStream&); void doUncompress(IceInternal::BasicStream&, IceInternal::BasicStream&); #endif |