Ack on patch 1 of 5.
/AndersBj
On 04/16/2015 09:20 AM, Hung Nguyen wrote:
> osaf/services/saf/immsv/immnd/ImmModel.cc | 22 +++++++++++++---------
> osaf/services/saf/immsv/immnd/ImmModel.hh | 2 +-
> osaf/services/saf/immsv/immnd/immnd_evt.c | 24 ++++++++++--------------
> osaf/services/saf/immsv/immnd/immnd_init.h | 6 +++---
> 4 files changed, 27 insertions(+), 27 deletions(-)
>
>
> Replace SaNameT local variables with char*.
>
> 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
> @@ -603,7 +603,7 @@ immModel_ccbObjectCreate(IMMND_CB *cb,
> SaUint32T* continuationId,
> SaUint32T* pbeConn,
> SaClmNodeIdT* pbeNodeId,
> - SaNameT* objName,
> + char** objName,
> bool* dnOrRdnIsLong,
> bool isObjectDnUsed)
> {
> @@ -660,8 +660,10 @@ immModel_ccbObjectCreate(IMMND_CB *cb,
> ccbObjectCreate(req, implConn, implNodeId, continuationId,
> pbeConn, pbeNodeId, objectName, dnOrRdnIsLong, isObjectDnUsed);
>
> - if(err == SA_AIS_OK) {
> - osaf_extended_name_alloc(objectName.c_str(), objName);
> + if(err == SA_AIS_OK && !objectName.empty()) {
> + *objName = (char*) malloc((objectName.length() + 1) * sizeof(char));
> + osafassert(*objName);
> + strcpy(*objName, objectName.c_str());
> }
>
> return err;
> @@ -716,7 +718,7 @@ immModel_genSpecialModify(IMMND_CB *cb,
>
> SaUint32T
> immModel_getLocalAppliersForObj(IMMND_CB *cb,
> - const SaNameT* objName,
> + const char* objName,
> SaUint32T ccbId,
> SaUint32T **aplConnArr,
> SaBoolT externalRep)
> @@ -775,7 +777,7 @@ immModel_ccbObjectModify(IMMND_CB *cb,
> SaUint32T* continuationId,
> SaUint32T* pbeConn,
> SaClmNodeIdT* pbeNodeId,
> - SaNameT* objName,
> + char** objName,
> bool* hasLongDns)
> {
> std::string objectName;
> @@ -784,8 +786,10 @@ immModel_ccbObjectModify(IMMND_CB *cb,
> ccbObjectModify(req, implConn, implNodeId, continuationId,
> pbeConn, pbeNodeId, objectName, hasLongDns, pbeFile);
>
> - if(err == SA_AIS_OK) {
> - osaf_extended_name_alloc(objectName.c_str(), objName);
> + if(err == SA_AIS_OK && !objectName.empty()) {
> + *objName = (char*) malloc((objectName.length() + 1) * sizeof(char));
> + osafassert(*objName);
> + strcpy(*objName, objectName.c_str());
> }
>
> return err;
> @@ -6200,14 +6204,14 @@ void ImmModel::getLocalAppliersForCcb(Sa
> *applCtnPtr = ccb->mOpCount;
> }
>
> -void ImmModel::getLocalAppliersForObj(const SaNameT* objName, SaUint32T
> ccbId,
> +void ImmModel::getLocalAppliersForObj(const char* objName, SaUint32T ccbId,
> ConnVector& cv, bool externalRep)
> {
> CcbInfo* ccb = 0;
> CcbVector::iterator i1;
> cv.clear();
>
> - std::string objectName(osaf_extended_name_borrow(objName));
> + std::string objectName(objName);
> if(externalRep && !(nameCheck(objectName)||nameToInternal(objectName)))
> {
> LOG_ER("Not a proper object name");
> abort();
> diff --git a/osaf/services/saf/immsv/immnd/ImmModel.hh
> b/osaf/services/saf/immsv/immnd/ImmModel.hh
> --- a/osaf/services/saf/immsv/immnd/ImmModel.hh
> +++ b/osaf/services/saf/immsv/immnd/ImmModel.hh
> @@ -227,7 +227,7 @@ public:
> void genSpecialModify(ImmsvOmCcbObjectModify* req);
>
> void getLocalAppliersForObj(
> - const SaNameT* objName,
> + const char* objName,
> SaUint32T ccbId,
> ConnVector& connVector,
> bool externalRep);
> 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
> @@ -5848,8 +5848,7 @@ static void immnd_evt_proc_object_create
> SaUint32T pbeConn = 0;
> NCS_NODE_ID pbeNodeId = 0;
> NCS_NODE_ID *pbeNodeIdPtr = NULL;
> - SaNameT objName;
> - osaf_extended_name_clear(&objName);
> + char *objName = NULL;
> bool dnOrRdnIsLong=false;
> TRACE_ENTER();
>
> @@ -5966,12 +5965,12 @@ static void immnd_evt_proc_object_create
> }
> }
>
> - if (!osaf_is_extended_name_empty(&objName) && (err == SA_AIS_OK)) {
> + if (objName && (err == SA_AIS_OK)) {
> /* Generate applier upcalls for the object create */
> SaUint32T *applConnArr = NULL;
> int ix = 0;
> SaUint32T arrSize =
> - immModel_getLocalAppliersForObj(cb, &objName,
> + immModel_getLocalAppliersForObj(cb, objName,
> evt->info.objCreate.ccbId, &applConnArr,
> SA_FALSE);
>
> if(arrSize) {
> @@ -6020,7 +6019,7 @@ static void immnd_evt_proc_object_create
> immnd_client_node_get(cb, clnt_hdl, &cl_node);
> if (cl_node == NULL || cl_node->mIsStale) {
> LOG_WA("IMMND - Client went down so no response");
> - osaf_extended_name_free(&objName);
> + if(objName) free(objName);
> return;
> }
>
> @@ -6041,7 +6040,7 @@ static void immnd_evt_proc_object_create
> }
>
> immsv_evt_free_attrNames(send_evt.info.imma.info.errRsp.errStrings);
> }
> - osaf_extended_name_free(&objName);
> + if(objName) free(objName);
> TRACE_LEAVE();
> }
>
> @@ -6080,8 +6079,7 @@ static void immnd_evt_proc_object_modify
> SaUint32T pbeConn = 0;
> NCS_NODE_ID pbeNodeId = 0;
> NCS_NODE_ID *pbeNodeIdPtr = NULL;
> - SaNameT objName;
> - osaf_extended_name_clear(&objName);
> + char *objName = NULL;
> bool hasLongDns=false;
> TRACE_ENTER();
> #if 0 /*ABT DEBUG PRINTOUTS START */
> @@ -6202,12 +6200,12 @@ static void immnd_evt_proc_object_modify
> }
> }
>
> - if (!osaf_is_extended_name_empty(&objName) && (err == SA_AIS_OK)) {
> + if (objName && (err == SA_AIS_OK)) {
> /* Generate applier upcalls for the object modify */
> SaUint32T *applConnArr = NULL;
> int ix = 0;
> SaUint32T arrSize =
> - immModel_getLocalAppliersForObj(cb, &objName,
> + immModel_getLocalAppliersForObj(cb, objName,
> evt->info.objModify.ccbId, &applConnArr,
> SA_FALSE);
>
> if(arrSize) {
> @@ -6285,7 +6283,7 @@ static void immnd_evt_proc_object_modify
> evt->info.objModify.objectName.size = 0;
> immsv_free_attrmods(evt->info.objModify.attrMods);
> evt->info.objModify.attrMods = NULL;
> - osaf_extended_name_free(&objName);
> + if (objName) free(objName);
> TRACE_LEAVE();
> }
>
> @@ -6934,12 +6932,10 @@ static void immnd_evt_proc_object_delete
> int ix = 0;
> for (; ix < arrSize && err == SA_AIS_OK; ++ix) { /* Iterate
> over deleted objects */
> SaUint32T *applConnArr = NULL;
> - SaNameT objName;
> - osaf_extended_name_lend(objNameArr[ix], &objName);
> send_evt.info.imma.info.objDelete.objectName.size =
> strlen(objNameArr[ix]) + 1;
> send_evt.info.imma.info.objDelete.objectName.buf =
> objNameArr[ix];
>
> - SaUint32T arrSize2 =
> immModel_getLocalAppliersForObj(cb, &objName,
> + SaUint32T arrSize2 =
> immModel_getLocalAppliersForObj(cb, objNameArr[ix],
> evt->info.objDelete.ccbId, &applConnArr,
> SA_TRUE);
>
> int ix2 = 0;
> diff --git a/osaf/services/saf/immsv/immnd/immnd_init.h
> b/osaf/services/saf/immsv/immnd/immnd_init.h
> --- a/osaf/services/saf/immsv/immnd/immnd_init.h
> +++ b/osaf/services/saf/immsv/immnd/immnd_init.h
> @@ -163,9 +163,9 @@ extern "C" {
> immModel_ccbObjectCreate(IMMND_CB *cb,
> struct ImmsvOmCcbObjectCreate *req, SaUint32T *implConn,
> SaClmNodeIdT *implNodeId,
> SaUint32T *continuationId, SaUint32T *pbeConn, SaClmNodeIdT
> *pbeNodeId,
> - SaNameT* objName, bool* dnOrRdnIsLong, bool isObjectDnUsed);
> + char** objName, bool* dnOrRdnIsLong, bool isObjectDnUsed);
>
> - SaUint32T immModel_getLocalAppliersForObj(IMMND_CB *cb, const SaNameT*
> objName, SaUint32T ccbId,
> + SaUint32T immModel_getLocalAppliersForObj(IMMND_CB *cb, const char*
> objName, SaUint32T ccbId,
> SaUint32T **aplConnArr, SaBoolT externalRep);
> SaUint32T immModel_getLocalAppliersForCcb(IMMND_CB *cb, SaUint32T
> ccbId, SaUint32T **aplConnArr,
> SaUint32T* applCtnPtr);
> @@ -174,7 +174,7 @@ extern "C" {
> immModel_ccbObjectModify(IMMND_CB *cb,
> const struct ImmsvOmCcbObjectModify *req, SaUint32T
> *implConn, SaClmNodeIdT *implNodeId,
> SaUint32T *continuationId, SaUint32T *pbeConn, SaClmNodeIdT
> *pbeNodeId,
> - SaNameT* objName, bool* hasLongDns);
> + char** objName, bool* hasLongDns);
>
> void immModel_ccbCompletedContinuation(IMMND_CB *cb,
> struct immsv_oi_ccb_upcall_rsp
> *rsp, SaUint32T *reqConn);
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel