diff options
Diffstat (limited to 'TAO/tao/Typecode.cpp')
-rw-r--r-- | TAO/tao/Typecode.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/TAO/tao/Typecode.cpp b/TAO/tao/Typecode.cpp index e915aebde02..09b644120f4 100644 --- a/TAO/tao/Typecode.cpp +++ b/TAO/tao/Typecode.cpp @@ -294,6 +294,19 @@ CORBA::TypeCode::~TypeCode (void) // Free up our private state. delete this->private_state_; this->private_state_ = 0; + + if (this->offset_map_ != 0) + { + OFFSET_MAP_ENTRY *entry = 0; + + for (CORBA::TypeCode::OFFSET_MAP_ITERATOR iter (*this->offset_map_); + iter.next (entry) != 0; + iter.advance ()) + { + CORBA::string_free ((char*)entry->ext_id_); + delete entry->int_id_; + } + } delete this->offset_map_; this->offset_map_ = 0; |