summaryrefslogtreecommitdiff
path: root/cpp/src/IceSSL/Certificate.cpp
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2012-09-07 11:19:34 -0400
committerBernard Normier <bernard@zeroc.com>2012-09-07 11:19:34 -0400
commitc9c426efd3e579d0220fbdee4a0a261fa2c191b5 (patch)
treed67c6356bfda2700e983586afaa71f28734c2cc9 /cpp/src/IceSSL/Certificate.cpp
parentUndo pragma-once-in-header enhancement (diff)
downloadice-c9c426efd3e579d0220fbdee4a0a261fa2c191b5.tar.bz2
ice-c9c426efd3e579d0220fbdee4a0a261fa2c191b5.tar.xz
ice-c9c426efd3e579d0220fbdee4a0a261fa2c191b5.zip
Port to Solaris 11 / Solaris Studio 12.3 (== CC 5.12)
Fix to BasicStream.h (unitialized data member) that caused occasional failures in Ice/stream test
Diffstat (limited to 'cpp/src/IceSSL/Certificate.cpp')
-rw-r--r--cpp/src/IceSSL/Certificate.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/cpp/src/IceSSL/Certificate.cpp b/cpp/src/IceSSL/Certificate.cpp
index da9e7e2c4b9..7479263eb33 100644
--- a/cpp/src/IceSSL/Certificate.cpp
+++ b/cpp/src/IceSSL/Certificate.cpp
@@ -18,6 +18,22 @@
#include <openssl/x509v3.h>
#include <openssl/pem.h>
+#ifdef __SUNPRO_CC
+
+//
+// The call to sk_GENERAL_NAME_pop_free fails to compile if we don't
+// remove the extern "C" vs non extern "C" check with the macro below:
+//
+
+extern "C" typedef void (*FreeFunc)(void*);
+
+#undef CHECKED_SK_FREE_FUNC
+#define CHECKED_SK_FREE_FUNC(type, p) \
+ (FreeFunc) (p)
+
+#endif
+
+
using namespace std;
using namespace Ice;
using namespace IceSSL;