summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.cpp')
-rw-r--r--TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.cpp b/TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.cpp
index 084bdac4ec0..1bcc20308ff 100644
--- a/TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.cpp
+++ b/TAO/orbsvcs/orbsvcs/IFRService/AliasDef_i.cpp
@@ -1,15 +1,17 @@
-/* -*- C++ -*- */
// $Id$
#include "AliasDef_i.h"
#include "Repository_i.h"
#include "IFR_Service_Utils.h"
#include "ace/Auto_Ptr.h"
+#include "ace/SString.h"
-ACE_RCSID (IFRService,
- AliasDef_i,
+
+ACE_RCSID (IFRService,
+ AliasDef_i,
"$Id$")
+
TAO_AliasDef_i::TAO_AliasDef_i (TAO_Repository_i *repo)
: TAO_IRObject_i (repo),
TAO_Contained_i (repo),
@@ -60,9 +62,13 @@ TAO_AliasDef_i::type_i (ACE_ENV_SINGLE_ARG_DECL)
"original_type",
original_type);
- TAO_IDLType_i *impl =
+ TAO_IDLType_i *impl =
TAO_IFR_Service_Utils::path_to_idltype (original_type,
this->repo_);
+ if (0 == impl)
+ {
+ ACE_THROW_RETURN ( CORBA::OBJECT_NOT_EXIST(), CORBA::TypeCode::_nil () );
+ }
CORBA::TypeCode_var tc = impl->type_i (ACE_ENV_SINGLE_ARG_PARAMETER);
ACE_CHECK_RETURN (CORBA::TypeCode::_nil ());
@@ -94,7 +100,7 @@ TAO_AliasDef_i::original_type_def_i (ACE_ENV_SINGLE_ARG_DECL)
"original_type",
original_type);
- CORBA::Object_var obj =
+ CORBA::Object_var obj =
TAO_IFR_Service_Utils::path_to_ir_object (original_type,
this->repo_
ACE_ENV_ARG_PARAMETER);