summaryrefslogtreecommitdiff
path: root/TAO/tao/ClientRequestInfo_i.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/ClientRequestInfo_i.cpp')
-rw-r--r--TAO/tao/ClientRequestInfo_i.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/TAO/tao/ClientRequestInfo_i.cpp b/TAO/tao/ClientRequestInfo_i.cpp
index bf4eaf1258c..e2314ddfc3b 100644
--- a/TAO/tao/ClientRequestInfo_i.cpp
+++ b/TAO/tao/ClientRequestInfo_i.cpp
@@ -374,7 +374,9 @@ TAO_ClientRequestInfo_i::request_id (ACE_ENV_SINGLE_ARG_DECL)
// 32 bit address
if (sizeof (this) == 4)
- id = ACE_reinterpret_cast (unsigned long, this->invocation_);
+ id = ACE_static_cast (CORBA::ULong,
+ ACE_reinterpret_cast (ptr_arith_t,
+ this->invocation_));
// 64 bit address -- bits 8 through 39 (see notes above!)
// In this case, we make sure this object is large enough to safely
@@ -383,13 +385,16 @@ TAO_ClientRequestInfo_i::request_id (ACE_ENV_SINGLE_ARG_DECL)
else if (sizeof (this) == 8
&& sizeof (*(this->invocation_)) > 256 /* 2 << 8 */)
id =
- (ACE_reinterpret_cast (unsigned long,
- this->invocation_) >> 8) & 0xFFFFFFFFu;
+ (ACE_static_cast (CORBA::ULong,
+ ACE_reinterpret_cast (ptr_arith_t,
+ this->invocation_)) >> 8) & 0xFFFFFFFFu;
// 64 bit address -- lower 32 bits
else if (sizeof (this) == 8)
- id = ACE_reinterpret_cast (unsigned long,
- this->invocation_) & 0xFFFFFFFFu;
+ id = ACE_static_cast (CORBA::ULong,
+ ACE_reinterpret_cast (ptr_arith_t,
+ this->invocation_)) &
+ 0xFFFFFFFFu;
// @@ The following request ID generator prevents the
// PortableInterceptor::ClientRequestInterceptor::send_request()