Update of /cvsroot/sblim/mofc
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9791/mofc
Modified Files:
backend_sfcb.c
Log Message:
Fixed [ 1220035 ] Incorrect qualifier array handling in backend_sfcb.c
Fixed line 114
Index: backend_sfcb.c
===================================================================
RCS file: /cvsroot/sblim/mofc/backend_sfcb.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- backend_sfcb.c 7 Jun 2005 12:27:23 -0000 1.3
+++ backend_sfcb.c 13 Jun 2005 23:29:35 -0000 1.4
@@ -38,6 +38,7 @@
extern ClClass *ClClassRebuildClass(ClClass * cls, void *area);
extern void ClClassFreeClass(ClClass * cls);
extern char *ClClassToString(ClClass * cls);
+extern CMPIStatus simpleArrayAdd(CMPIArray * array, CMPIValue * val, CMPIType type);
extern CMPIBroker *Broker;
@@ -89,6 +90,7 @@
CMPIData data;
CMPIData arr_data;
int i = 0;
+ CMPIStatus st;
data.type = make_cmpi_type(lextype,arrayspec);
data.value.uint64 = 0L; /* set to binary zeros */
@@ -106,10 +108,10 @@
if (data.type & CMPI_ARRAY) {
/* process array entries */
data.value.array =
- CMNewArray(Broker,arrayspec,data.type&~CMPI_ARRAY,NULL);
+ CMNewArray(Broker,0,data.type&~CMPI_ARRAY,NULL);
while (vals && vals -> val_value) {
arr_data = make_cmpi_data(lextype,-1,vals);
- CMSetArrayElementAt(data.value.array, i, &arr_data.value, data.type);
+ st=simpleArrayAdd(data.value.array, &arr_data.value, data.type&~CMPI_ARRAY);
i++;
vals = vals -> val_next;
}
@@ -205,7 +207,7 @@
htinsert( he,
upstrdup(ce -> class_id,
strlen(ce -> class_id)), strlen(ce -> class_id),
- (void *)1);
+ (void *)1);
sfcbClass = ClClassNew( ce -> class_id,
ce -> class_parent ?
ce -> class_parent -> class_id : NULL );
|