summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp')
-rw-r--r--TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp b/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp
index 176c5fe6a1b..611529b47ba 100644
--- a/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp
+++ b/TAO/orbsvcs/IFR_Service/ifr_adding_visitor.cpp
@@ -3937,6 +3937,7 @@ ifr_adding_visitor::fill_supported_interfaces (CORBA::InterfaceDefSeq &result,
switch (node->node_type ())
{
case AST_Decl::NT_valuetype:
+ case AST_Decl::NT_eventtype:
{
AST_ValueType *v = AST_ValueType::narrow_from_decl (node);
s_length = v->n_supports ();
@@ -4050,7 +4051,8 @@ ifr_adding_visitor::fill_initializers (CORBA::ExtInitializerSeq &result,
f_iter.next (), ++index)
{
arg = AST_Argument::narrow_from_decl (f_iter.item ());
- result[i].members[index].name = arg->local_name ()->get_string ();
+ result[i].members[index].name =
+ CORBA::string_dup (arg->local_name ()->get_string ());
result[i].members[index].type =
CORBA::TypeCode::_duplicate (CORBA::_tc_void);
@@ -4082,7 +4084,7 @@ ifr_adding_visitor::fill_initializers (CORBA::ExtInitializerSeq &result,
{
excp = AST_Exception::narrow_from_decl (ei.item ());
result[i].exceptions[index].name =
- excp->local_name ()->get_string ();
+ CORBA::string_dup (excp->local_name ()->get_string ());
result[i].exceptions[index].id = excp->repoID ();
result[i].exceptions[index].defined_in =
ScopeAsDecl (excp->defined_in ())->repoID ();