[Ace-users] Re: [tao-users] Notification Service Issue: Marshalling exception for nestedstruct in 5.5.10, but not for 5.5.9

Rob Ratcliff rrr6399 at futuretek.com
Tue Aug 21 23:40:55 CDT 2007


FYI:

Simon Massey at PrismTech found the 1 line bug
in the file tao/AnyTypeCode/TypeCode_CDR_Extraction.cpp
in tao 1.5.10.


Here is the code snippet that he sent me:

There should be a "return true"; in the last statement before the
closing } inside the  if (CORBA::tk_alias == kind) block; as in:

    if (CORBA::tk_alias == kind)
    {
      // NOTE: Although Alias may be indirect, they are NOT recursive!
      // Just create another type code for this alias.

      CORBA::String_var name;
      CORBA::TypeCode_var content_type;
      if (!(indir_stream >> TAO_InputCDR::to_string (name.out (), 0)
          && tc_demarshal (indir_stream, content_type.out (), infos)))
        {
          return false;
        }

      typedef TAO::TypeCode::Alias<
                      CORBA::String_var,
                      CORBA::TypeCode_var,
                      TAO::True_RefCount_Policy> typecode_type;

      // NOTE: Although Alias may be indirect, they are NOT recursive!
      ACE_NEW_RETURN (tc,
          typecode_type (kind,
                        id.in (),
                        name.in (),
                        content_type),
          false);
      return true;       ////////////////////////// THIS NEEDS TO BE
ADDED
    }

    // Don't bother demarshaling the rest of the parameters.  They will
    // be handled by the top-level TypeCode demarshaling call.


Thanks to Johnny and Simon for working together to fix the problem so
quickly! (Fixed back on 8/13/07. I was just a little slow to get the
good news back to the list due to my week long vacation.)

Rob Ratcliff wrote:
> Johnny,
> 
> I did as you said and updated the AnyTypeCode.dll using the file below
> from 5.5.9 and that made 5.5.10 work for my case.
> 
> Thanks!
> 
> Rob
> 
> 
> Johnny Willemsen wrote:
>> Hi,
>>
>> Thanks, one thing to try out, can you take the file
>> tao/AnyTypeCode/TypeCode_CDR_Extraction.cpp from 1.5.9 and put it in 1.5.10,
>> rebuild and see if things run then?
>>
> 


More information about the Ace-users mailing list