From: Adrian S. <a3s...@us...> - 2005-05-05 22:12:47
|
Update of /cvsroot/sblim/sfcb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32678 Modified Files: objectImpl.c Log Message: Fixed [ 1191278 ] wbemcli segv's on ec [ 1194280 ] GetClass on CIM_StatisticalData fails Incomplete coding sequence in ClClassGetPropertyAt() of objectImpl.c Index: objectImpl.c =================================================================== RCS file: /cvsroot/sblim/sfcb/objectImpl.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- objectImpl.c 26 Apr 2005 14:11:20 -0000 1.4 +++ objectImpl.c 5 May 2005 22:12:34 -0000 1.5 @@ -1543,6 +1543,25 @@ if (data) *data = (p + id)->data; if (name) *name = strdup(ClObjectGetClString(&cls->hdr, &(p + id)->id)); if (quals) *quals = (p + id)->quals; + + if (data->state & CMPI_nullValue) { + data->value.uint64=0; + } + else if (data->type == CMPI_chars) { + const char *str = + ClObjectGetClString(&cls->hdr, (ClString *) & data->value.chars); + data->value.string = native_new_CMPIString(str, NULL); + data->type = CMPI_string; + } + else if (data->type == CMPI_dateTime) { + const char *str = + ClObjectGetClString(&cls->hdr, (ClString *) & data->value.chars); + data->value.dateTime = native_new_CMPIDateTime_fromChars(str, NULL); + } + else if (data->type & CMPI_ARRAY) { + data->value.dataPtr.ptr = (void *) ClObjectGetClArray(&cls->hdr, + (ClArray *) & data->value.array); + } return 0; } @@ -1781,12 +1800,9 @@ p = (ClProperty *) ClObjectGetClSection(&inst->hdr, &inst->properties); if (id < 0 || id > inst->properties.used) _SFCB_RETURN(1); - if (data) - *data = (p + id)->data; - if (name) - *name = strdup(ClObjectGetClString(&inst->hdr, &(p + id)->id)); - if (quals) - *quals = (p + id)->quals; + if (data) *data = (p + id)->data; + if (name) *name = strdup(ClObjectGetClString(&inst->hdr, &(p + id)->id)); + if (quals) *quals = (p + id)->quals; if (data->type == CMPI_chars) { const char *str = ClObjectGetClString(&inst->hdr, (ClString *) & data->value.chars); |