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

Reply via email to