Ack with minor comments: 1) In the short line commit message: change "libs/core:" to "base:" 2) The scope of the variable "int i" in osaf_encode_sanamet() can be reduced (i.e. move it into the two for-loops: for (int i = ...).
thanks, Anders Widell On 07/19/2016 03:34 AM, Gary Lee wrote: > osaf/libs/core/include/ncsencdec_pub.h | 1 - > osaf/libs/core/leap/hj_enc.c | 55 > ++++++++++++--------------------- > 2 files changed, 21 insertions(+), 35 deletions(-) > > > modify osaf_encode_sanamet() so it does not assume the SaNameT varable being > encoded > is null terminated > > diff --git a/osaf/libs/core/include/ncsencdec_pub.h > b/osaf/libs/core/include/ncsencdec_pub.h > --- a/osaf/libs/core/include/ncsencdec_pub.h > +++ b/osaf/libs/core/include/ncsencdec_pub.h > @@ -153,7 +153,6 @@ void osaf_encode_uint64(NCS_UBAID *ub, u > void osaf_decode_uint64(NCS_UBAID *ub, uint64_t *to); > void osaf_encode_sanamet(NCS_UBAID *ub, const SaNameT *name); > void osaf_decode_sanamet(NCS_UBAID *ub, SaNameT *name); > -void osaf_encode_sanamet_o2(NCS_UBAID *ub, SaConstStringT name); > void osaf_encode_saconststring(NCS_UBAID *ub, SaConstStringT str); > void osaf_encode_satimet(NCS_UBAID *ub, SaTimeT time); > void osaf_decode_satimet(NCS_UBAID *ub, SaTimeT *time); > diff --git a/osaf/libs/core/leap/hj_enc.c b/osaf/libs/core/leap/hj_enc.c > --- a/osaf/libs/core/leap/hj_enc.c > +++ b/osaf/libs/core/leap/hj_enc.c > @@ -378,13 +378,29 @@ void osaf_decode_uint64(NCS_UBAID *ub, u > > void osaf_encode_sanamet(NCS_UBAID *ub, const SaNameT *name) > { > - TRACE_ENTER(); > + int i; > + const size_t len = osaf_extended_name_length(name); > + SaConstStringT str = osaf_extended_name_borrow(name); > > - SaConstStringT str = osaf_extended_name_borrow(name); > - TRACE("str %s (%zu)", str, osaf_extended_name_length(name)); > - osaf_encode_sanamet_o2(ub, str); > + if (len < SA_MAX_UNEXTENDED_NAME_LENGTH) { > + // encode a fixed 256 char string, to ensure > + // we are backwards compatible > + osaf_encode_uint16(ub, len); > > - TRACE_LEAVE(); > + for (i = 0; i < len; i++) { > + osaf_encode_uint8(ub, str[i]); > + } > + > + // need to encode SA_MAX_UNEXTENDED_NAME_LENGTH characters to > remain > + // compatible with legacy osaf_decode_sanamet() [without long > DN support] > + for (i = len; i < SA_MAX_UNEXTENDED_NAME_LENGTH; i++) { > + osaf_encode_uint8(ub, 0); > + } > + } else { > + // encode as a variable string > + SaConstStringT str = osaf_extended_name_borrow(name); > + osaf_encode_saconststring(ub, str); > + } > } > > void osaf_decode_sanamet(NCS_UBAID *ub, SaNameT *name) > @@ -443,35 +459,6 @@ void osaf_decode_saclmnodeaddresst(NCS_U > } > } > > -void osaf_encode_sanamet_o2(NCS_UBAID *ub, SaConstStringT name) > -{ > - TRACE_ENTER(); > - > - int i; > - const size_t len = strlen(name); > - > - if (len < SA_MAX_UNEXTENDED_NAME_LENGTH) { > - // encode a fixed 256 char string, to ensure > - // we are backwards compatible > - osaf_encode_uint16(ub, len); > - > - for (i = 0; i < len; i++) { > - osaf_encode_uint8(ub, name[i]); > - } > - > - // need to encode SA_MAX_UNEXTENDED_NAME_LENGTH characters to > remain > - // compatible with legacy osaf_decode_sanamet() [without long > DN support] > - for (i = len; i < SA_MAX_UNEXTENDED_NAME_LENGTH; i++) { > - osaf_encode_uint8(ub, 0); > - } > - } else { > - // encode as a variable string > - osaf_encode_saconststring(ub, name); > - } > - > - TRACE_LEAVE(); > -} > - > void osaf_encode_saconststring(NCS_UBAID *ub, SaConstStringT str) > { > size_t len = strlen(str); ------------------------------------------------------------------------------ What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports.http://sdm.link/zohodev2dev _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel