diff options
Diffstat (limited to 'TAO/tao/On_Demand_Fragmentation_Strategy.cpp')
-rw-r--r-- | TAO/tao/On_Demand_Fragmentation_Strategy.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/TAO/tao/On_Demand_Fragmentation_Strategy.cpp b/TAO/tao/On_Demand_Fragmentation_Strategy.cpp index 2c78bf33cb6..e9b790dd6fa 100644 --- a/TAO/tao/On_Demand_Fragmentation_Strategy.cpp +++ b/TAO/tao/On_Demand_Fragmentation_Strategy.cpp @@ -6,6 +6,8 @@ #include "tao/GIOP_Message_Base.h" #include "tao/debug.h" +#include "ace/Truncate.h" + TAO_On_Demand_Fragmentation_Strategy::TAO_On_Demand_Fragmentation_Strategy ( TAO_Transport * transport, CORBA::ULong max_message_size) @@ -42,14 +44,16 @@ TAO_On_Demand_Fragmentation_Strategy::fragment ( // marshaled, taking into account the alignment for the given data // type. ACE_CDR::ULong const total_pending_length = - ACE_align_binary (cdr.total_length (), pending_alignment) - + pending_length; + ACE_Utils::truncate_cast<ACE_CDR::ULong> ( + ACE_align_binary (cdr.total_length (), pending_alignment) + + pending_length); // Except for the last fragment, fragmented GIOP messages must // always be aligned on an 8-byte boundary. Padding will be added // if necessary. ACE_CDR::ULong const aligned_length = - ACE_align_binary (total_pending_length, ACE_CDR::MAX_ALIGNMENT); + ACE_Utils::truncate_cast<ACE_CDR::ULong> ( + ACE_align_binary (total_pending_length, ACE_CDR::MAX_ALIGNMENT)); // this->max_message_size_ must be >= 24 bytes, i.e.: // 12 for GIOP protocol header |