diff options
Diffstat (limited to 'cpp/src/IceSSL/Certificate.cpp')
-rw-r--r-- | cpp/src/IceSSL/Certificate.cpp | 16 |
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; |