From: Chris B. <buc...@us...> - 2013-07-27 21:12:25
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "sfcb - Small Footprint CIM Broker". The branch, master has been updated via 0af3c710a4c89cfe0b84c74fcda34bb9db65bbd7 (commit) from a8dd746ddcb115a28abe2bcd1af1be929cd3b15b (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 0af3c710a4c89cfe0b84c74fcda34bb9db65bbd7 Author: buccella <buc...@li...> Date: Sat Jul 27 17:11:40 2013 -0400 [sfcb-tix:#66] SFCB_TRACE_VAR should be more restrictive ----------------------------------------------------------------------- Summary of changes: interopProvider.c | 12 ++++++------ providerDrv.c | 4 ++-- providerMgr.c | 3 ++- trace.h | 4 ++++ 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/interopProvider.c b/interopProvider.c index d71be3d..4591289 100644 --- a/interopProvider.c +++ b/interopProvider.c @@ -1591,8 +1591,8 @@ InteropProviderInvokeMethod(CMPIMethodMI * mi, subscriptionHt->ft->getNext(subscriptionHt, i, (void **) &suName, (void **) &su)) { if ((void *) su->fi == filterId) { - _SFCB_TRACE_VAR(CMPIString *str = CDToString(_broker, su->ha->hop, NULL)); - _SFCB_TRACE_VAR(CMPIString *ns = CMGetNameSpace(su->ha->hop, NULL)); + _SFCB_TRACE_VAR_PTR(CMPIString *str, CDToString(_broker, su->ha->hop, NULL)); + _SFCB_TRACE_VAR_PTR(CMPIString *ns, CMGetNameSpace(su->ha->hop, NULL)); _SFCB_TRACE(1, ("--- invoke handler %s %s", (char *) ns->hdl, (char *) str->hdl)); @@ -1641,8 +1641,8 @@ InteropProviderInvokeMethod(CMPIMethodMI * mi, CMPIInstance *ci = in->ft->getArg(in, "handler", &st).value.inst; CMPIObjectPath *op = in->ft->getArg(in, "key", &st).value.ref; - _SFCB_TRACE_VAR(CMPIString *str = CDToString(_broker, op, NULL)); - _SFCB_TRACE_VAR(CMPIString *ns = CMGetNameSpace(op, NULL)); + _SFCB_TRACE_VAR_PTR(CMPIString *str, CDToString(_broker, op, NULL)); + _SFCB_TRACE_VAR_PTR(CMPIString *ns, CMGetNameSpace(op, NULL)); _SFCB_TRACE(1, ("--- _addHandler %s %s", (char *) ns->hdl, (char *) str->hdl)); @@ -1673,8 +1673,8 @@ InteropProviderInvokeMethod(CMPIMethodMI * mi, else if (strcasecmp(methodName, "_updateHandler") == 0) { CMPIInstance *ci=in->ft->getArg(in,"handler",&st).value.inst; CMPIObjectPath *op=in->ft->getArg(in,"key",&st).value.ref; - _SFCB_TRACE_VAR(CMPIString *str=CDToString(_broker,op,NULL)); - _SFCB_TRACE_VAR(CMPIString *ns=CMGetNameSpace(op,NULL)); + _SFCB_TRACE_VAR_PTR(CMPIString *str, CDToString(_broker,op,NULL)); + _SFCB_TRACE_VAR_PTR(CMPIString *ns, CMGetNameSpace(op,NULL)); _SFCB_TRACE(1,("--- _updateHandler %s %s",(char*)ns->hdl,(char*)str->hdl)); updateHandler(ci,op); } diff --git a/providerDrv.c b/providerDrv.c index bf9f6c4..2c3cb50 100644 --- a/providerDrv.c +++ b/providerDrv.c @@ -1338,8 +1338,8 @@ getClass(BinRequestHdr * hdr, ProviderInfo * info, int __attribute__ ((unused)) _SFCB_ENTER(TRACE_PROVIDERDRV, "getClass"); - _SFCB_TRACE_VAR(char *cn = CMGetClassName(path, NULL)->hdl); - _SFCB_TRACE_VAR(char *ns = CMGetNameSpace(path, NULL)->hdl); + _SFCB_TRACE_VAR_PTR(char *cn, CMGetClassName(path, NULL)->hdl); + _SFCB_TRACE_VAR_PTR(char *ns, CMGetNameSpace(path, NULL)->hdl); _SFCB_TRACE(1, ("--- Namespace %s ClassName %s", ns, cn)); if (req->hdr.flags & FL_localOnly) diff --git a/providerMgr.c b/providerMgr.c index 96b27b8..b1590a8 100644 --- a/providerMgr.c +++ b/providerMgr.c @@ -1508,7 +1508,8 @@ invokeProviders(BinRequestContext * binCtx, int *err, int *count) _SFCB_TRACE(1, ("--- %d providers", binCtx->pCount)); for (i = 0; i < binCtx->pCount; i++, binCtx->pDone++) { binCtx->provA = binCtx->pAs[i]; - _SFCB_TRACE_VAR(ProviderInfo *info = pReg->ft->getProviderById(pReg, binCtx->provA.ids.provId)); + _SFCB_TRACE_VAR_PTR(ProviderInfo *info, pReg->ft->getProviderById(pReg, binCtx->provA.ids.provId)); + _SFCB_TRACE(1, ("--- Calling provider id: %d type=%lu %s (%s)", info->id, info->type, info->providerName, info->className)); resp[i] = intInvokeProvider(binCtx, sockets); diff --git a/trace.h b/trace.h index e7f37f3..2c6d8be 100644 --- a/trace.h +++ b/trace.h @@ -34,6 +34,10 @@ extern unsigned long *_ptr_sfcb_trace_mask; /* to wrap variables used only in trace statements */ #define _SFCB_TRACE_VAR(f) f; +/* we want the scope of variable v outside the if block */ +#define _SFCB_TRACE_VAR_PTR(v,f) \ + v = ((*_ptr_sfcb_trace_mask & __traceMask)) ? f : NULL; + #define _SFCB_TRACE(LEVEL,STR) \ if ((*_ptr_sfcb_trace_mask & __traceMask) && (LEVEL<=_sfcb_debug) && (LEVEL>0) ) \ _sfcb_trace(LEVEL,__FILE__,__LINE__,_sfcb_format_trace STR); hooks/post-receive -- sfcb - Small Footprint CIM Broker |