summaryrefslogtreecommitdiff
path: root/ACE/ace/Service_Gestalt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/ace/Service_Gestalt.cpp')
-rw-r--r--ACE/ace/Service_Gestalt.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/ACE/ace/Service_Gestalt.cpp b/ACE/ace/Service_Gestalt.cpp
index 95b3989009b..8b395d88b89 100644
--- a/ACE/ace/Service_Gestalt.cpp
+++ b/ACE/ace/Service_Gestalt.cpp
@@ -853,8 +853,14 @@ ACE_Service_Gestalt::get_xml_svc_conf (ACE_DLL &xmldll)
void * foo =
xmldll.symbol (ACE_TEXT ("_ACEXML_create_XML_Svc_Conf_Object"));
- ACE_XML_Svc_Conf::Factory factory =
- reinterpret_cast<ACE_XML_Svc_Conf::Factory> (foo);
+#if defined (ACE_OPENVMS) && (!defined (__INITIAL_POINTER_SIZE) || (__INITIAL_POINTER_SIZE < 64))
+ int const temp_p = reinterpret_cast<int> (foo);
+#else
+ intptr_t const temp_p = reinterpret_cast<intptr_t> (foo);
+#endif
+
+ ACE_XML_Svc_Conf::Factory factory = reinterpret_cast<ACE_XML_Svc_Conf::Factory> (temp_p);
+
if (factory == 0)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("ACE (%P|%t) Unable to resolve factory: %p\n"),