osaf/libs/agents/saf/imma/imma_om_api.c          |   8 +-
 osaf/libs/common/immsv/immsv_evt.c               |  81 +++++++++--------------
 osaf/libs/common/immsv/include/immsv_evt_model.h |   6 +-
 osaf/services/saf/immsv/immd/immd_evt.c          |  19 +++-
 osaf/services/saf/immsv/immnd/ImmModel.cc        |   2 +-
 osaf/services/saf/immsv/immnd/immnd_evt.c        |  16 ++--
 6 files changed, 60 insertions(+), 72 deletions(-)


Replace the union (added in changeset:6275) with new IMMSV_OCTET_STRING member.
Remove unecessary flat decoding for IMMND_EVT_D2ND_ADMINIT, that type of 
message is packed to a fevs message.
Avoid doing both borrow and malloc in immsv_evt_dec_flat().

diff --git a/osaf/libs/agents/saf/imma/imma_om_api.c 
b/osaf/libs/agents/saf/imma/imma_om_api.c
--- a/osaf/libs/agents/saf/imma/imma_om_api.c
+++ b/osaf/libs/agents/saf/imma/imma_om_api.c
@@ -1006,8 +1006,8 @@ SaAisErrorT saImmOmAdminOwnerInitialize(
        evt.type = IMMSV_EVT_TYPE_IMMND;
        evt.info.immnd.type = IMMND_EVT_A2ND_IMM_ADMINIT;
        evt.info.immnd.info.adminitReq.client_hdl = immHandle;
-       evt.info.immnd.info.adminitReq.i.adminOwnerName.octetString.size = 
strlen(adminOwnerName) + 1;
-       evt.info.immnd.info.adminitReq.i.adminOwnerName.octetString.buf = 
adminOwnerName;
+       evt.info.immnd.info.adminitReq.i.name.size = strlen(adminOwnerName) + 1;
+       evt.info.immnd.info.adminitReq.i.name.buf = adminOwnerName;
        if (releaseOwnershipOnFinalize) {
                evt.info.immnd.info.adminitReq.i.releaseOwnershipOnFinalize = 
true;
                /* Release on finalize can not be undone in case of IMMND crash.
@@ -8630,8 +8630,8 @@ static SaBoolT imma_re_initialize_admin_
        evt.type = IMMSV_EVT_TYPE_IMMND;
        evt.info.immnd.type = IMMND_EVT_A2ND_IMM_ADMINIT;
        evt.info.immnd.info.adminitReq.client_hdl = immHandle;
-       evt.info.immnd.info.adminitReq.i.adminOwnerName.octetString.size = 
strlen(adm_found_node->mAdminOwnerName) + 1;
-       evt.info.immnd.info.adminitReq.i.adminOwnerName.octetString.buf = 
adm_found_node->mAdminOwnerName;
+       evt.info.immnd.info.adminitReq.i.name.size = 
strlen(adm_found_node->mAdminOwnerName) + 1;
+       evt.info.immnd.info.adminitReq.i.name.buf = 
adm_found_node->mAdminOwnerName;
        evt.info.immnd.info.adminitReq.i.releaseOwnershipOnFinalize = false;
        
        temp_hdl = adm_found_node->admin_owner_hdl;
diff --git a/osaf/libs/common/immsv/immsv_evt.c 
b/osaf/libs/common/immsv/immsv_evt.c
--- a/osaf/libs/common/immsv/immsv_evt.c
+++ b/osaf/libs/common/immsv/immsv_evt.c
@@ -1571,7 +1571,7 @@ static uint32_t immsv_evt_enc_sublevels(
                                return NCSCC_RC_OUT_OF_MEM;
                        }
                } else if (i_evt->info.immd.type == 
IMMD_EVT_ND2D_ADMINIT_REQ_2) {
-                       IMMSV_OCTET_STRING *os = 
&(i_evt->info.immd.info.admown_init.i.adminOwnerName.octetString);
+                       IMMSV_OCTET_STRING *os = 
&(i_evt->info.immd.info.admown_init.i.name);
                        if (strlen(os->buf) >= IMMSV_MAX_ADMO_NAME_LENGTH) {
                                LOG_WA("Admin owner name is too long (max. 255 
characters)");
                                return NCSCC_RC_FAILURE;
@@ -2016,7 +2016,7 @@ static uint32_t immsv_evt_enc_sublevels(
                                }
                        }
                } else if (i_evt->info.immnd.type == 
IMMND_EVT_A2ND_IMM_ADMINIT) {
-                       IMMSV_OCTET_STRING *os = 
&(i_evt->info.immnd.info.adminitReq.i.adminOwnerName.octetString);
+                       IMMSV_OCTET_STRING *os = 
&(i_evt->info.immnd.info.adminitReq.i.name);
                        if (strlen(os->buf) >= IMMSV_MAX_ADMO_NAME_LENGTH) {
                                LOG_WA("Admin owner name is too long (max. 255 
characters)");
                                return NCSCC_RC_FAILURE;
@@ -2025,7 +2025,7 @@ static uint32_t immsv_evt_enc_sublevels(
                                return NCSCC_RC_OUT_OF_MEM;
                        }
                } else if (i_evt->info.immnd.type == IMMND_EVT_D2ND_ADMINIT_2) {
-                       IMMSV_OCTET_STRING *os = 
&(i_evt->info.immnd.info.adminitGlobal.i.adminOwnerName.octetString);
+                       IMMSV_OCTET_STRING *os = 
&(i_evt->info.immnd.info.adminitGlobal.i.name);
                        if (strlen(os->buf) >= IMMSV_MAX_ADMO_NAME_LENGTH) {
                                LOG_WA("Admin owner name is too long (max. 255 
characters)");
                                return NCSCC_RC_FAILURE;
@@ -2235,7 +2235,7 @@ static uint32_t immsv_evt_dec_sublevels(
                        os = &(o_evt->info.immd.info.ctrl_msg.pbeFile);
                        immsv_evt_dec_inline_string(i_ub, os);
                } else if (o_evt->info.immd.type == 
IMMD_EVT_ND2D_ADMINIT_REQ_2) {
-                       IMMSV_OCTET_STRING *os = 
&(o_evt->info.immd.info.admown_init.i.adminOwnerName.octetString);
+                       IMMSV_OCTET_STRING *os = 
&(o_evt->info.immd.info.admown_init.i.name);
                        immsv_evt_dec_inline_string(i_ub, os);
                        if (strlen(os->buf) >= IMMSV_MAX_ADMO_NAME_LENGTH) {
                                LOG_WA("Admin owner name is too long (max. 255 
characters)");
@@ -2558,14 +2558,14 @@ static uint32_t immsv_evt_dec_sublevels(
                                immsv_evt_dec_inline_string(i_ub, os);
                        }
                } else if (o_evt->info.immnd.type == 
IMMND_EVT_A2ND_IMM_ADMINIT) {
-                       IMMSV_OCTET_STRING *os = 
&(o_evt->info.immnd.info.adminitReq.i.adminOwnerName.octetString);
+                       IMMSV_OCTET_STRING *os = 
&(o_evt->info.immnd.info.adminitReq.i.name);
                        immsv_evt_dec_inline_string(i_ub, os);
                        if (strlen(os->buf) >= IMMSV_MAX_ADMO_NAME_LENGTH) {
                                LOG_WA("Admin owner name is too long (max. 255 
characters)");
                                return NCSCC_RC_FAILURE;
                        }
                } else if (o_evt->info.immnd.type == IMMND_EVT_D2ND_ADMINIT_2) {
-                       IMMSV_OCTET_STRING *os = 
&(o_evt->info.immnd.info.adminitGlobal.i.adminOwnerName.octetString);
+                       IMMSV_OCTET_STRING *os = 
&(o_evt->info.immnd.info.adminitGlobal.i.name);
                        immsv_evt_dec_inline_string(i_ub, os);
                        if (strlen(os->buf) >= IMMSV_MAX_ADMO_NAME_LENGTH) {
                                LOG_WA("Admin owner name is too long (max. 255 
characters)");
@@ -2633,31 +2633,13 @@ uint32_t immsv_evt_dec_flat(NCS_UBAID *i
        }
 
        /* Convert to new type */
-       if (o_evt->type == IMMSV_EVT_TYPE_IMMND) {
-               if (o_evt->info.immnd.type == IMMND_EVT_D2ND_ADMINIT) {
-                       size_t length = 
osaf_extended_name_length(&o_evt->info.immnd.info.adminitGlobal.i.adminOwnerName.saName);
-                       char* buf = (char*) malloc((length + 1) * sizeof(char));
-                       if (!buf) {
-                               LOG_ER("Failed to allocate memory, exiting");
-                               abort();
-                       }
-                       memcpy(buf, 
osaf_extended_name_borrow(&o_evt->info.immnd.info.adminitGlobal.i.adminOwnerName.saName),
 length);
-                       buf[length] = '\0';
-                       
o_evt->info.immnd.info.adminitGlobal.i.adminOwnerName.octetString.size = length 
+ 1;
-                       
o_evt->info.immnd.info.adminitGlobal.i.adminOwnerName.octetString.buf = buf;
-               }
-       } else if (o_evt->type == IMMSV_EVT_TYPE_IMMD) {
+       if (o_evt->type == IMMSV_EVT_TYPE_IMMD) {
                if (o_evt->info.immd.type == IMMD_EVT_ND2D_ADMINIT_REQ) {
-                       size_t length = 
osaf_extended_name_length(&o_evt->info.immd.info.admown_init.i.adminOwnerName.saName);
-                       char* buf = (char*) malloc((length + 1) * sizeof(char));
-                       if (!buf) {
-                               LOG_ER("Failed to allocate memory, exiting");
-                               abort();
-                       }
-                       memcpy(buf, 
osaf_extended_name_borrow(&o_evt->info.immd.info.admown_init.i.adminOwnerName.saName),
 length);
-                       buf[length] = '\0';
-                       
o_evt->info.immd.info.admown_init.i.adminOwnerName.octetString.size = length + 
1;
-                       
o_evt->info.immd.info.admown_init.i.adminOwnerName.octetString.buf = buf;
+                       size_t length = 
osaf_extended_name_length(&o_evt->info.immd.info.admown_init.i.saName);
+                       o_evt->info.immd.info.admown_init.i.name.size = length 
+ 1;
+                       /* IMMSV_MAX_ADMO_NAME_LENGTH is equal to 
SA_MAX_UNEXTENDED_NAME_LENGTH
+                          so i.name.buf is always borrowed from 
i.saName.value. */
+                       o_evt->info.immd.info.admown_init.i.name.buf = (char*) 
osaf_extended_name_borrow(&o_evt->info.immd.info.admown_init.i.saName);
                }
        }
 
@@ -3032,7 +3014,7 @@ static uint32_t immsv_evt_enc_toplevel(I
 
                        if (immdevt->type == IMMD_EVT_ND2D_ADMINIT_REQ) {
                                IMMSV_RSRV_SPACE_ASSERT(p8, o_ub, 2);
-                               const char* value = 
osaf_extended_name_borrow(&immdevt->info.admown_init.i.adminOwnerName.saName);
+                               const char* value = 
osaf_extended_name_borrow(&immdevt->info.admown_init.i.saName);
                                size_t length = strlen(value);
                                if(length >= IMMSV_MAX_ADMO_NAME_LENGTH) {
                                        // With this check we don't need to 
check for extended names
@@ -3043,7 +3025,7 @@ static uint32_t immsv_evt_enc_toplevel(I
                                ncs_encode_16bit(&p8, length);
                                ncs_enc_claim_space(o_ub, 2);
 
-                               /* adminOwnerName.value is top level because 
type is SaNameT */
+                               /* saName.value is top level because type is 
SaNameT */
                                if(ncs_encode_n_octets_in_uba(o_ub,
                                           (uint8_t*) value,
                                           length)
@@ -3054,9 +3036,9 @@ static uint32_t immsv_evt_enc_toplevel(I
                                }
                        } else if (immdevt->type == 
IMMD_EVT_ND2D_ADMINIT_REQ_2) {
                                IMMSV_RSRV_SPACE_ASSERT(p8, o_ub, 4);
-                               ncs_encode_32bit(&p8, 
immdevt->info.admown_init.i.adminOwnerName.octetString.size);
+                               ncs_encode_32bit(&p8, 
immdevt->info.admown_init.i.name.size);
                                ncs_enc_claim_space(o_ub, 4);
-                               /* 
immdevt->info.admown_init.i.adminOwnerName.octetString.buf encoded by sublevel 
*/
+                               /* immdevt->info.admown_init.i.name.buf encoded 
by sublevel */
                        }
 
                        IMMSV_RSRV_SPACE_ASSERT(p8, o_ub, 1);
@@ -3253,9 +3235,9 @@ static uint32_t immsv_evt_enc_toplevel(I
                        ncs_enc_claim_space(o_ub, 8);
 
                        IMMSV_RSRV_SPACE_ASSERT(p8, o_ub, 4);
-                       ncs_encode_32bit(&p8, 
immndevt->info.adminitReq.i.adminOwnerName.octetString.size);
+                       ncs_encode_32bit(&p8, 
immndevt->info.adminitReq.i.name.size);
                        ncs_enc_claim_space(o_ub, 4);
-                       /* 
immndevt->info.adminitReq.i.adminOwnerName.octetString.buf encoded by sublevel 
*/
+                       /* immndevt->info.adminitReq.i.name.buf encoded by 
sublevel */
 
                        IMMSV_RSRV_SPACE_ASSERT(p8, o_ub, 1);
                        ncs_encode_8bit(&p8, 
immndevt->info.adminitReq.i.releaseOwnershipOnFinalize);
@@ -3907,7 +3889,7 @@ static uint32_t immsv_evt_enc_toplevel(I
 
                        if (immndevt->type == IMMND_EVT_D2ND_ADMINIT) {
                                IMMSV_RSRV_SPACE_ASSERT(p8, o_ub, 2);
-                               const char* value = 
osaf_extended_name_borrow(&immndevt->info.adminitGlobal.i.adminOwnerName.saName);
+                               const char* value = 
osaf_extended_name_borrow(&immndevt->info.adminitGlobal.i.saName);
                                size_t length = strlen(value);
                                if(length >= IMMSV_MAX_ADMO_NAME_LENGTH) {
                                        // With this check we don't need to 
check for extended names
@@ -3918,7 +3900,7 @@ static uint32_t immsv_evt_enc_toplevel(I
                                ncs_encode_16bit(&p8, length);
                                ncs_enc_claim_space(o_ub, 2);
 
-                               /* adminOwnerName.value is top level because 
type is SaNameT */
+                               /* saName.value is top level because type is 
SaNameT */
                                if(ncs_encode_n_octets_in_uba(o_ub,
                                           (uint8_t*) value,
                                           length)
@@ -3929,9 +3911,9 @@ static uint32_t immsv_evt_enc_toplevel(I
                                }
                        } else if (immndevt->type == IMMND_EVT_D2ND_ADMINIT_2) {
                                IMMSV_RSRV_SPACE_ASSERT(p8, o_ub, 4);
-                               ncs_encode_32bit(&p8, 
immndevt->info.adminitGlobal.i.adminOwnerName.octetString.size);
+                               ncs_encode_32bit(&p8, 
immndevt->info.adminitGlobal.i.name.size);
                                ncs_enc_claim_space(o_ub, 4);
-                               /* 
immndevt->info.adminitGlobal.i.adminOwnerName.octetString.buf encoded by 
sublevel */
+                               /* immndevt->info.adminitGlobal.i.name.buf 
encoded by sublevel */
                        }
 
                        IMMSV_RSRV_SPACE_ASSERT(p8, o_ub, 1);
@@ -4417,6 +4399,7 @@ static uint32_t immsv_evt_dec_toplevel(N
                        immdevt->info.admown_init.client_hdl = 
ncs_decode_64bit(&p8);
                        ncs_dec_skip_space(i_ub, 8);
 
+                       
osaf_extended_name_clear(&immdevt->info.admown_init.i.saName);
                        if (immdevt->type == IMMD_EVT_ND2D_ADMINIT_REQ) {
                                IMMSV_FLTN_SPACE_ASSERT(p8, local_data, i_ub, 
2);
                                size_t length = ncs_decode_16bit(&p8);
@@ -4427,7 +4410,7 @@ static uint32_t immsv_evt_dec_toplevel(N
                                        break;
                                }
 
-                               /* adminOwnerName.value is top level because 
type is SaNameT */
+                               /* saName.value is top level because type is 
SaNameT */
                                char* value = (char*) malloc(length + 1);
                                if (value == NULL || 
ncs_decode_n_octets_from_uba(i_ub,
                                           (uint8_t*) value,
@@ -4441,11 +4424,11 @@ static uint32_t immsv_evt_dec_toplevel(N
                                value[length] = '\0';
 
                                /* Convert to new type */
-                               
immdevt->info.admown_init.i.adminOwnerName.octetString.size = length + 1;
-                               
immdevt->info.admown_init.i.adminOwnerName.octetString.buf = value;
+                               immdevt->info.admown_init.i.name.size = length 
+ 1;
+                               immdevt->info.admown_init.i.name.buf = value;
                        } else if (immdevt->type == 
IMMD_EVT_ND2D_ADMINIT_REQ_2) {
                                IMMSV_FLTN_SPACE_ASSERT(p8, local_data, i_ub, 
4);
-                               
immdevt->info.admown_init.i.adminOwnerName.octetString.size = 
ncs_decode_32bit(&p8);
+                               immdevt->info.admown_init.i.name.size = 
ncs_decode_32bit(&p8);
                                ncs_dec_skip_space(i_ub, 4);
                                /* 
immdevt->info.admown_init.i.adminOwnerName.octetString.buf decoded by sublevel 
*/
                        }
@@ -4647,9 +4630,9 @@ static uint32_t immsv_evt_dec_toplevel(N
                        ncs_dec_skip_space(i_ub, 8);
 
                        IMMSV_FLTN_SPACE_ASSERT(p8, local_data, i_ub, 4);
-                       
immndevt->info.adminitReq.i.adminOwnerName.octetString.size = 
ncs_decode_32bit(&p8);
+                       immndevt->info.adminitReq.i.name.size = 
ncs_decode_32bit(&p8);
                        ncs_dec_skip_space(i_ub, 4);
-                       /* 
immndevt->info.adminitReq.i.adminOwnerName.octetString.buf decoded by sublevel 
*/
+                       /* immndevt->info.adminitReq.i.name.buf decoded by 
sublevel */
 
                        IMMSV_FLTN_SPACE_ASSERT(p8, local_data, i_ub, 1);
                        immndevt->info.adminitReq.i.releaseOwnershipOnFinalize 
= ncs_decode_8bit(&p8);
@@ -5381,11 +5364,11 @@ static uint32_t immsv_evt_dec_toplevel(N
                                value[length] = '\0';
 
                                /* Convert to new type */
-                               
immndevt->info.adminitGlobal.i.adminOwnerName.octetString.size = length + 1;
-                               
immndevt->info.adminitGlobal.i.adminOwnerName.octetString.buf = value;
+                               immndevt->info.adminitGlobal.i.name.size = 
length + 1;
+                               immndevt->info.adminitGlobal.i.name.buf = value;
                        } else if (immndevt->type == IMMND_EVT_D2ND_ADMINIT_2) {
                                IMMSV_FLTN_SPACE_ASSERT(p8, local_data, i_ub, 
4);
-                               
immndevt->info.adminitGlobal.i.adminOwnerName.octetString.size = 
ncs_decode_32bit(&p8);
+                               immndevt->info.adminitGlobal.i.name.size = 
ncs_decode_32bit(&p8);
                                ncs_dec_skip_space(i_ub, 4);
                                /* 
immndevt->info.adminitGlobal.i.adminOwnerName.octetString.buf decoded by 
sublevel */
                        }
diff --git a/osaf/libs/common/immsv/include/immsv_evt_model.h 
b/osaf/libs/common/immsv/include/immsv_evt_model.h
--- a/osaf/libs/common/immsv/include/immsv_evt_model.h
+++ b/osaf/libs/common/immsv/include/immsv_evt_model.h
@@ -134,11 +134,9 @@ extern "C" {
        } IMMSV_OM_CLASS_DESCR;
 
        typedef struct ImmsvOmAdminOwnerInitialize {
-               union {
-                       SaNameT saName;
-                       IMMSV_OCTET_STRING octetString;
-               } adminOwnerName;
+               SaNameT saName;
                SaBoolT releaseOwnershipOnFinalize;
+               IMMSV_OCTET_STRING name;
        } IMMSV_OM_ADMIN_OWNER_INITIALIZE;
 
        typedef struct ImmsvOmCcbInitialize {
diff --git a/osaf/services/saf/immsv/immd/immd_evt.c 
b/osaf/services/saf/immsv/immd/immd_evt.c
--- a/osaf/services/saf/immsv/immd/immd_evt.c
+++ b/osaf/services/saf/immsv/immd/immd_evt.c
@@ -1629,7 +1629,7 @@ static uint32_t immd_evt_proc_adminit_re
        uba.start = NULL;
        TRACE_ENTER();
 
-       TRACE_5("Admin owner name:%s", 
adminit_req->i.adminOwnerName.octetString.buf);
+       TRACE_5("Admin owner name:%s", adminit_req->i.name.buf);
 
        globalId = ++(cb->admo_id_count);
        if (cb->admo_id_count == 0xffffffff) {
@@ -1664,8 +1664,8 @@ static uint32_t immd_evt_proc_adminit_re
        fevs_evt.type = IMMSV_EVT_TYPE_IMMND;
        if (evt->type == IMMD_EVT_ND2D_ADMINIT_REQ) {
                fevs_evt.info.immnd.type = IMMND_EVT_D2ND_ADMINIT;
-               
osaf_extended_name_lend(adminit_req->i.adminOwnerName.octetString.buf,
-                       
&fevs_evt.info.immnd.info.adminitGlobal.i.adminOwnerName.saName);
+               osaf_extended_name_lend(adminit_req->i.name.buf,
+                       &fevs_evt.info.immnd.info.adminitGlobal.i.saName);
                
fevs_evt.info.immnd.info.adminitGlobal.i.releaseOwnershipOnFinalize = 
adminit_req->i.releaseOwnershipOnFinalize;
        } else if (evt->type == IMMD_EVT_ND2D_ADMINIT_REQ_2) {
                fevs_evt.info.immnd.type = IMMND_EVT_D2ND_ADMINIT_2;
@@ -1714,9 +1714,16 @@ static uint32_t immd_evt_proc_adminit_re
                m_MMGR_FREE_BUFR_LIST(uba.start);
        }
 
-       free(adminit_req->i.adminOwnerName.octetString.buf);
-       adminit_req->i.adminOwnerName.octetString.buf = NULL;
-       adminit_req->i.adminOwnerName.octetString.size = 0;
+       /* If i.saName is NOT empty then the IMMD_EVT_ND2D_ADMINIT_REQ message 
is flat-decoded.
+          IMMSV_MAX_ADMO_NAME_LENGTH is equal to SA_MAX_UNEXTENDED_NAME_LENGTH
+          so i.name.buf is always borrowed from i.saName.value.
+          In this case, we don't free i.name.buf */
+       if (evt->type == IMMD_EVT_ND2D_ADMINIT_REQ &&
+                       osaf_is_extended_name_empty(&adminit_req->i.saName)) {
+               free(adminit_req->i.name.buf);
+               adminit_req->i.name.buf = NULL;
+               adminit_req->i.name.size = 0;
+       }
 
        TRACE_LEAVE();
        return proc_rc;
diff --git a/osaf/services/saf/immsv/immnd/ImmModel.cc 
b/osaf/services/saf/immsv/immnd/ImmModel.cc
--- a/osaf/services/saf/immsv/immnd/ImmModel.cc
+++ b/osaf/services/saf/immsv/immnd/ImmModel.cc
@@ -4336,7 +4336,7 @@ ImmModel::adminOwnerCreate(const ImmsvOm
         return SA_AIS_ERR_TRY_AGAIN;
     }
     
-    const IMMSV_OCTET_STRING *octetString = &req->adminOwnerName.octetString;
+    const IMMSV_OCTET_STRING *octetString = &req->name;
     admin_name = std::string(octetString->buf, strnlen((const 
char*)octetString->buf, (size_t)octetString->size));
 
     if (strcmp("IMMLOADER", admin_name.c_str()) == 0) {
diff --git a/osaf/services/saf/immsv/immnd/immnd_evt.c 
b/osaf/services/saf/immsv/immnd/immnd_evt.c
--- a/osaf/services/saf/immsv/immnd/immnd_evt.c
+++ b/osaf/services/saf/immsv/immnd/immnd_evt.c
@@ -476,14 +476,14 @@ uint32_t immnd_evt_destroy(IMMSV_EVT *ev
                evt->info.immnd.info.ccbUpcallRsp.errorString.buf = NULL;
                evt->info.immnd.info.ccbUpcallRsp.errorString.size = 0;
        } else if (evt->info.immnd.type == IMMND_EVT_A2ND_IMM_ADMINIT) {
-               
free(evt->info.immnd.info.adminitReq.i.adminOwnerName.octetString.buf);
-               
evt->info.immnd.info.adminitReq.i.adminOwnerName.octetString.buf = NULL;
-               
evt->info.immnd.info.adminitReq.i.adminOwnerName.octetString.size = 0;
+               free(evt->info.immnd.info.adminitReq.i.name.buf);
+               evt->info.immnd.info.adminitReq.i.name.buf = NULL;
+               evt->info.immnd.info.adminitReq.i.name.size = 0;
        } else if ((evt->info.immnd.type == IMMND_EVT_D2ND_ADMINIT) ||
                        (evt->info.immnd.type == IMMND_EVT_D2ND_ADMINIT_2)) {
-               
free(evt->info.immnd.info.adminitGlobal.i.adminOwnerName.octetString.buf);
-               
evt->info.immnd.info.adminitGlobal.i.adminOwnerName.octetString.buf = NULL;
-               
evt->info.immnd.info.adminitGlobal.i.adminOwnerName.octetString.size = 0;
+               free(evt->info.immnd.info.adminitGlobal.i.name.buf);
+               evt->info.immnd.info.adminitGlobal.i.name.buf = NULL;
+               evt->info.immnd.info.adminitGlobal.i.name.size = 0;
        } else if ((evt->info.immnd.type == IMMND_EVT_A2ND_CCB_OBJ_DELETE_RSP) 
||
                        (evt->info.immnd.type == 
IMMND_EVT_A2ND_CCB_OBJ_DELETE_RSP_2) ||
                        (evt->info.immnd.type == 
IMMND_EVT_A2ND_CCB_OBJ_DELETE_RSP_3) ||
@@ -2350,8 +2350,8 @@ static uint32_t immnd_evt_proc_admowner_
        send_evt.type = IMMSV_EVT_TYPE_IMMD;
        if (!immModel_protocol46Allowed(cb)) {
                send_evt.info.immd.type = IMMD_EVT_ND2D_ADMINIT_REQ;
-               
osaf_extended_name_lend(evt->info.adminitReq.i.adminOwnerName.octetString.buf,
-                       
&send_evt.info.immd.info.admown_init.i.adminOwnerName.saName);
+               osaf_extended_name_lend(evt->info.adminitReq.i.name.buf,
+                       &send_evt.info.immd.info.admown_init.i.saName);
                
send_evt.info.immd.info.admown_init.i.releaseOwnershipOnFinalize = 
evt->info.adminitReq.i.releaseOwnershipOnFinalize;
        } else {
                send_evt.info.immd.type = IMMD_EVT_ND2D_ADMINIT_REQ_2;

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to