ack, two minor comments:
1. specify the initializers in declaration order, (thats how they get 
called).
2. if, as also IngvarB pointed out, SaNameT contained a default 
constructor initializing its length to 0, it don't need to be initialized in
the class. I have already sent out a patch for adding conversion 
operator to SanameT so a default constructor could also be good.
  /Regards HansN

On 05/28/14 09:45, Hans Feldt wrote:
>   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
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to