summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2006-02-01 21:27:42 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2006-02-01 21:27:42 +0000
commite51cbfaf9025430188fdcd711e533b67bc1fe53e (patch)
treeebfa2bc7dce9973e5748dba843f038bc74cc0fda /TAO/TAO_IDL
parentb0e28fed3ccc4a0a8696718b91ee61c5d22e2ca5 (diff)
downloadATCD-e51cbfaf9025430188fdcd711e533b67bc1fe53e.tar.gz
ChangeLogTag: Wed Feb 1 21:02:45 UTC 2006 Jeff Parsons <j.parsons@vanderbilt.edu>
Diffstat (limited to 'TAO/TAO_IDL')
-rw-r--r--TAO/TAO_IDL/ast/ast_predefined_type.cpp21
1 files changed, 19 insertions, 2 deletions
diff --git a/TAO/TAO_IDL/ast/ast_predefined_type.cpp b/TAO/TAO_IDL/ast/ast_predefined_type.cpp
index ae9fb0a9493..2360a7ce535 100644
--- a/TAO/TAO_IDL/ast/ast_predefined_type.cpp
+++ b/TAO/TAO_IDL/ast/ast_predefined_type.cpp
@@ -76,9 +76,10 @@ trademarks or registered trademarks of Sun Microsystems, Inc.
#include "utl_identifier.h"
#include "global_extern.h"
#include "ace/Log_Msg.h"
+#include "ace/OS_NS_stdio.h"
-ACE_RCSID (ast,
- ast_predefined_type,
+ACE_RCSID (ast,
+ ast_predefined_type,
"$Id$")
AST_PredefinedType::AST_PredefinedType (void)
@@ -209,6 +210,22 @@ AST_PredefinedType::AST_PredefinedType (PredefinedType t,
new_name->nconc (conc_name);
}
+ // The repo id computation in the AST_Decl constructor can't
+ // be easily modified to work for predefined types.
+ ACE_CString repo_id = ACE_CString ("IDL:omg.org/CORBA/")
+ + id->get_string ()
+ + ":"
+ + this->version ();
+ delete [] this->repoID_;
+ size_t len = repo_id.length ();
+ ACE_NEW (this->repoID_,
+ char[len + 1]);
+ this->repoID_[0] = '\0';
+ ACE_OS::sprintf (this->repoID_,
+ "%s",
+ repo_id.c_str ());
+ this->repoID_[len] = '\0';
+
this->set_name (new_name);
}