diff -r abc90cae6c08 -r f2cb4b64756a
src/Virt_VirtualSystemManagementService.c
--- a/src/Virt_VirtualSystemManagementService.c Mon Jun 01 18:19:38 2009 -0300
+++ b/src/Virt_VirtualSystemManagementService.c Mon Jun 01 18:19:43 2009 -0300
@@ -197,6 +197,69 @@
return kvm;
}
+static int bootord_vssd_to_domain(CMPIInstance *inst,
+ struct domain *domain)
+{
+ int ret;
+ CMPICount i;
+ CMPIArray *bootlist;
+ CMPIStatus s;
+ CMPIData boot_elem;
+ char **tmp_str_arr;
+
+ for (i = 0; i < domain->os_info.fv.bootlist_ct; i++)
+ free(domain->os_info.fv.bootlist[i]);
+
+ ret = cu_get_array_prop(inst, "BootDevices", &bootlist);
+
+ if (ret == CMPI_RC_OK) {
You can save some indention here by doing something like:
if (ret != CMPI_RC_OK) {
CU_DEBUG("Failed to get BootDevices property");
return 1;
}
+
+ str = CMGetCharPtr(boot_elem.value.string);
+
+ if (s.rc != CMPI_RC_OK) {
Instead of checking the value of s.rc, you want to check to see if str
is NULL.
+ CU_DEBUG("Could not extract
char pointer from "
+ "CMPIArray");
+ return 0;
+ }
+
+ tmp_str_arr[i] = strdup(str);
+ }
+ domain->os_info.fv.bootlist_ct = bl_size;
+ domain->os_info.fv.bootlist = tmp_str_arr;
+
+ } else
+ CU_DEBUG("Failed to get BootDevices property");
+
+ return 1;
+}
+
static int fv_vssd_to_domain(CMPIInstance *inst,
struct domain *domain,
const char *pfx)
--
Kaitlin Rupert
IBM Linux Technology Center
kaitlin(a)linux.vnet.ibm.com