summaryrefslogtreecommitdiff
path: root/TAO
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-11-10 17:07:50 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2003-11-10 17:07:50 +0000
commit825d1b31fd8e178963c509e436ef41c61b7591f4 (patch)
tree074b74d531fce99f71b37e0ce6e4f945a0dae225 /TAO
parent1f114fed139378868414d07c22478387f95cb5c0 (diff)
downloadATCD-825d1b31fd8e178963c509e436ef41c61b7591f4.tar.gz
ChangeLogTag: Mon Nov 10 11:03:34 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
Diffstat (limited to 'TAO')
-rw-r--r--TAO/ChangeLog11
-rw-r--r--TAO/tao/DynamicAny/DynCommon.cpp14
2 files changed, 23 insertions, 2 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index 6e055cb1a6a..4de74fc3f85 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,12 @@
+Mon Nov 10 11:03:34 2003 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * tao/DynamicAny/DynCommon.cpp (insert_reference):
+
+ Added code to cover CDR insertion of a nil object reference
+ (an empty string for the type hint, and a 0 for number of
+ profiles). Thanks to Harvinder Sawhney
+ <harvinder_sawhney@agilent.com> for reporting the problem.
+
Mon Nov 10 16:59:13 UTC 2003 Johnny Willemsen <jwillemsen@remedy.nl>
* examples/Buffered_AMI/server.cpp:
@@ -115,7 +124,7 @@ Sun Nov 9 19:12:40 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>
* tao/PortableInterceptorC.cpp:
* tao/PortableInterceptorC.i:
- Regenretad the code to keep the Any operators away. We will
+ Regenerated the code to keep the Any operators away. We will
update the diffss and such if we are damn sure that this is
going to give us wins.
diff --git a/TAO/tao/DynamicAny/DynCommon.cpp b/TAO/tao/DynamicAny/DynCommon.cpp
index ef43460ba89..a5ea151f3b8 100644
--- a/TAO/tao/DynamicAny/DynCommon.cpp
+++ b/TAO/tao/DynamicAny/DynCommon.cpp
@@ -482,7 +482,19 @@ TAO_DynCommon::insert_reference (CORBA::Object_ptr value
if (good_type)
{
TAO_OutputCDR cdr;
- value->marshal (cdr);
+
+ if (CORBA::is_nil (value))
+ {
+ // Empty type hint, no profile.
+ cdr.write_ulong (1);
+ cdr.write_char ('\0');
+ cdr.write_ulong (0);
+ }
+ else
+ {
+ value->marshal (cdr);
+ }
+
TAO::Unknown_IDL_Type *unk = 0;
ACE_NEW (unk,
TAO::Unknown_IDL_Type (this->type_.in (),