Can you please share the advantage for using 'explicit' here:

+       explicit AVD_SU(const SaNameT *dn);

Thanks
-Nagu

> -----Original Message-----
> From: Hans Feldt [mailto:hans.fe...@ericsson.com]
> Sent: 28 May 2014 13:16
> To: hans.nordeb...@ericsson.com
> Cc: opensaf-devel@lists.sourceforge.net
> Subject: [devel] [PATCH 1 of 1] amfd: fix SU constructor [#713]
> 
>  osaf/services/saf/amf/amfd/include/su.h |   2 +-
>  osaf/services/saf/amf/amfd/su.cc        |  43 
> ++++++++++++++++++--------------
>  2 files changed, 25 insertions(+), 20 deletions(-)
> 
> 
> saAmfSUMaintenanceCampaign was not initialized properly thus causing SMF
> campaigns to fail. While fixing that we align to "rule":
> http://www.parashift.com/c++-faq/init-lists.html and initialize attributes
> using the initialization list rather than assignment.
> 
> diff --git a/osaf/services/saf/amf/amfd/include/su.h
> b/osaf/services/saf/amf/amfd/include/su.h
> --- a/osaf/services/saf/amf/amfd/include/su.h
> +++ b/osaf/services/saf/amf/amfd/include/su.h
> @@ -93,7 +93,7 @@ class AVD_SU {
>       AVD_SU *su_list_su_type_next;
> 
>       AVD_SU() {};
> -     AVD_SU(const SaNameT *dn);
> +     explicit AVD_SU(const SaNameT *dn);
>       ~AVD_SU() {};
>       void set_su_failover(bool value);
>       void dec_curr_stdby_si();
> diff --git a/osaf/services/saf/amf/amfd/su.cc
> b/osaf/services/saf/amf/amfd/su.cc
> --- a/osaf/services/saf/amf/amfd/su.cc
> +++ b/osaf/services/saf/amf/amfd/su.cc
> @@ -32,27 +32,32 @@
> 
>  AmfDb<AVD_SU> *su_db = NULL;
> 
> -AVD_SU::AVD_SU(const SaNameT *dn) {
> +AVD_SU::AVD_SU(const SaNameT *dn):
> +             saAmfSURank(0),
> +             saAmfSUFailover(false),
> +             saAmfSUFailover_configured(false),
> +             saAmfSUPreInstantiable(static_cast<SaBoolT>(false)),
> +             saAmfSUOperState(SA_AMF_OPERATIONAL_DISABLED),
> +
>       saAmfSuReadinessState(SA_AMF_READINESS_OUT_OF_SERVICE),
> +
>       saAmfSUPresenceState(SA_AMF_PRESENCE_UNINSTANTIATED),
> +             saAmfSUNumCurrActiveSIs(0),
> +             saAmfSUNumCurrStandbySIs(0),
> +             saAmfSURestartCount(0),
> +             term_state(false),
> +             su_switch(AVSV_SI_TOGGLE_STABLE),
> +             su_is_external(false),
> +             sg_of_su(NULL),
> +             su_on_node(NULL),
> +             list_of_susi(NULL),
> +             list_of_comp(NULL),
> +             sg_list_su_next(NULL),
> +             avnd_list_su_next(NULL),
> +             su_type(NULL),
> +             su_list_su_type_next(NULL) {
> +
>       memcpy(name.value, dn->value, sizeof(name.value));
>       name.length = dn->length;
> -     saAmfSUFailover = false;
> -     term_state = false;
> -     su_switch = AVSV_SI_TOGGLE_STABLE;
> -     saAmfSUPreInstantiable = static_cast<SaBoolT>(false);
> -     saAmfSUOperState = SA_AMF_OPERATIONAL_DISABLED;
> -     saAmfSUPresenceState = SA_AMF_PRESENCE_UNINSTANTIATED;
> -     saAmfSuReadinessState = SA_AMF_READINESS_OUT_OF_SERVICE;
> -     saAmfSUNumCurrActiveSIs = 0;
> -     saAmfSUNumCurrStandbySIs = 0;
> -     su_is_external = false;
> -     sg_of_su = NULL;
> -     su_on_node = NULL;
> -     list_of_susi = NULL;
> -     list_of_comp = NULL;
> -     sg_list_su_next = NULL;
> -     avnd_list_su_next = NULL;
> -     su_type = NULL;
> -     su_list_su_type_next = NULL;
> +     saAmfSUMaintenanceCampaign.length = 0;
>       saAmfSUHostedByNode.length = 0;
>       pend_cbk.invocation = 0;
>       pend_cbk.admin_oper = (SaAmfAdminOperationIdT)0;
> 
> ------------------------------------------------------------------------------
> Time is money. Stop wasting it! Get your web API in 5 minutes.
> www.restlet.com/download
> http://p.sf.net/sfu/restlet
> _______________________________________________
> Opensaf-devel mailing list
> Opensaf-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/opensaf-devel

------------------------------------------------------------------------------
Time is money. Stop wasting it! Get your web API in 5 minutes.
www.restlet.com/download
http://p.sf.net/sfu/restlet
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to