summaryrefslogtreecommitdiff
path: root/TAO/tao/Any_T.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Any_T.cpp')
-rw-r--r--TAO/tao/Any_T.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/TAO/tao/Any_T.cpp b/TAO/tao/Any_T.cpp
index 88372080b1b..cd6ed922252 100644
--- a/TAO/tao/Any_T.cpp
+++ b/TAO/tao/Any_T.cpp
@@ -773,9 +773,14 @@ TAO::Any_Dual_Impl_T<T>::extract (const CORBA::Any & any,
0);
auto_ptr<TAO::Any_Dual_Impl_T<T> > replacement_safety (replacement);
-
- TAO_InputCDR cdr (impl->_tao_get_cdr (),
- impl->_tao_byte_order ());
+ ACE_Message_Block *mb = impl->_tao_get_cdr ();
+ TAO_InputCDR cdr (mb->data_block (),
+ ACE_Message_Block::DONT_DELETE,
+ mb->rd_ptr () - mb->base (),
+ mb->wr_ptr () - mb->base (),
+ impl->_tao_byte_order (),
+ TAO_DEF_GIOP_MAJOR,
+ TAO_DEF_GIOP_MINOR);
CORBA::Boolean result = replacement->demarshal_value (cdr);