diff --git a/src/main/java/com/eprosima/fastdds/idl/templates/TypesCdrAuxHeaderImpl.stg b/src/main/java/com/eprosima/fastdds/idl/templates/TypesCdrAuxHeaderImpl.stg index b02992fd..36609d93 100644 --- a/src/main/java/com/eprosima/fastdds/idl/templates/TypesCdrAuxHeaderImpl.stg +++ b/src/main/java/com/eprosima/fastdds/idl/templates/TypesCdrAuxHeaderImpl.stg @@ -170,12 +170,12 @@ eProsima_user_DllExport void deserialize( $struct.allMembers : { member | $if(member.annotationDefault)$ - data.$member.name$({$member.annotationDefaultValue$\}); + data.$member.name$($member.annotationDefaultValue$$if(member.typecode.isType_5)$f$endif$); $elseif(member.annotationOptional)$ data.$member.name$().reset(); $elseif(!member.annotationExternal)$ $if(member.typecode.initialValue)$ - data.$member.name$({$member.typecode.initialValue$\}); + data.$member.name$($with_braces_if_array(member, member.typecode.initialValue)$); $elseif(member.typecode.isStringType || member.typecode.isWStringType)$ data.$member.name$({\}); $endif$ diff --git a/src/main/java/com/eprosima/fastdds/idl/templates/eprosima.stg b/src/main/java/com/eprosima/fastdds/idl/templates/eprosima.stg index 335bf894..61b0c493 100644 --- a/src/main/java/com/eprosima/fastdds/idl/templates/eprosima.stg +++ b/src/main/java/com/eprosima/fastdds/idl/templates/eprosima.stg @@ -52,3 +52,11 @@ bitset_inherit_copy_init(parent) ::= <<$parent.scopedname$(x)>> bitset_inherit_move_init(parent) ::= <<$parent.scopedname$(std::move(x))>> indexName(name, loopvar) ::= <<$name$[$loopvar$]>> + +with_braces_if_array(member, value) ::= <% +$if(member.typecode.isArrayType)$ +{$value$} +$else$ +$value$ +$endif$ +%>