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