Update of /cvsroot/sblim/sfcb
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv484
Modified Files:
internalProvider.c
Log Message:
Fixing 1180671.
InternalProvider.c returning bad status when no instances found for enumerateInstance(Name)s
Index: internalProvider.c
===================================================================
RCS file: /cvsroot/sblim/sfcb/internalProvider.c,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- internalProvider.c 9 Mar 2005 12:25:12 -0000 1.1.1.1
+++ internalProvider.c 11 Apr 2005 21:19:00 -0000 1.2
@@ -235,6 +235,7 @@
CMPIObjectPath * ref)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
+ CMPIStatus sti = { CMPI_RC_OK, NULL };
BlobIndex *bi;
CMPIString *cn = CMGetClassName(ref, NULL);
CMPIString *ns = CMGetNameSpace(ref, NULL);
@@ -256,8 +257,8 @@
in=CMNewArgs(Broker,NULL);
out=CMNewArgs(Broker,NULL);
CMAddArg(in,"class",cns,CMPI_chars);
- op=CMNewObjectPath(Broker,nss,"$ClassProvider$",&st);
- rv=CBInvokeMethod(Broker,ctx,op,"getallchildren",in,out,&st);
+ op=CMNewObjectPath(Broker,nss,"$ClassProvider$",&sti);
+ rv=CBInvokeMethod(Broker,ctx,op,"getallchildren",in,out,&sti);
ar=CMGetArg(out,"children",NULL).value.array;
if (ar) ac=CMGetArrayCount(ar,NULL);
@@ -296,6 +297,7 @@
void(*retFnc)(void*,CMPIInstance*), int ignprov)
{
CMPIStatus st = { CMPI_RC_OK, NULL };
+ CMPIStatus sti = { CMPI_RC_OK, NULL };
BlobIndex *bi;
CMPIString *cn = CMGetClassName(ref, NULL);
CMPIString *ns = CMGetNameSpace(ref, NULL);
@@ -316,10 +318,12 @@
out=CMNewArgs(Broker,NULL);
if (ignprov) CMAddArg(in,"classignoreprov",cns,CMPI_chars);
else CMAddArg(in,"class",cns,CMPI_chars);
- op=CMNewObjectPath(Broker,nss,"$ClassProvider$",&st);
+
+ op=CMNewObjectPath(Broker,nss,"$ClassProvider$",&sti);
_SFCB_TRACE(1,("--- getallchildren"));
- rv=CBInvokeMethod(Broker,ctx,op,"getallchildren",in,out,&st);
- _SFCB_TRACE(1,("--- getallchildren rc: %d",st.rc));
+ rv=CBInvokeMethod(Broker,ctx,op,"getallchildren",in,out,&sti);
+ _SFCB_TRACE(1,("--- getallchildren rc: %d",sti.rc));
+
ar=CMGetArg(out,"children",NULL).value.array;
if (ar) ac=CMGetArrayCount(ar,NULL);
_SFCB_TRACE(1,("--- getallchildren ar: %p count: %d",ar,ac));
@@ -337,6 +341,7 @@
if (i<ac) cns=(char*)CMGetArrayElementAt(ar,i,NULL).value.string->hdl;
else cns=NULL;
}
+
_SFCB_RETURN(st);
}
|