
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@linux.vnet.ibm.com