diff options
author | Peter Schiffer <pschiffe@redhat.com> | 2013-04-08 20:25:59 +0200 |
---|---|---|
committer | Peter Schiffer <pschiffe@redhat.com> | 2013-04-08 20:25:59 +0200 |
commit | 699a49933d2b2690888f719a447682d85c9942b0 (patch) | |
tree | abaf80cecec848db033318cfe84bac08b884dbdc /src/hardware/LMI_ProcessorCapabilitiesProvider.c | |
parent | 9b77270eebd073ab4060ac84e4b40fc0652dff07 (diff) | |
download | openlmi-providers-699a49933d2b2690888f719a447682d85c9942b0.tar.gz openlmi-providers-699a49933d2b2690888f719a447682d85c9942b0.tar.xz openlmi-providers-699a49933d2b2690888f719a447682d85c9942b0.zip |
Hardware: Code clean up
* Got rid of asprintf() where suitable (used static memory instead)
* Removed if conditional before free()
* Replaced more hard coded numbers with LMI constants
Diffstat (limited to 'src/hardware/LMI_ProcessorCapabilitiesProvider.c')
-rw-r--r-- | src/hardware/LMI_ProcessorCapabilitiesProvider.c | 57 |
1 files changed, 10 insertions, 47 deletions
diff --git a/src/hardware/LMI_ProcessorCapabilitiesProvider.c b/src/hardware/LMI_ProcessorCapabilitiesProvider.c index c7c4ff2..b29e0a9 100644 --- a/src/hardware/LMI_ProcessorCapabilitiesProvider.c +++ b/src/hardware/LMI_ProcessorCapabilitiesProvider.c @@ -60,7 +60,8 @@ static CMPIStatus LMI_ProcessorCapabilitiesEnumInstances( CMPIUint16 cores = 1, threads = 1; const char *ns = KNameSpace(cop), *element_name_string = "Capabilities of processor "; - char *error_msg = NULL, *instance_id = NULL, *element_name = NULL; + char *error_msg = NULL, instance_id[INSTANCE_ID_LEN] = "", + element_name[ELEMENT_NAME_LEN] = ""; unsigned i, cpus_nb = 0; DmiProcessor *dmi_cpus = NULL; unsigned dmi_cpus_nb = 0; @@ -89,39 +90,19 @@ static CMPIStatus LMI_ProcessorCapabilitiesEnumInstances( /* do we have output from dmidecode program? */ if (dmi_cpus_nb > 0) { - if (asprintf(&instance_id, ORGID ":" CPU_CAP_CLASS_NAME ":%s", - dmi_cpus[i].id) < 0) { - instance_id = NULL; - error_msg = "Not enough available memory."; - goto done; - } - + snprintf(instance_id, INSTANCE_ID_LEN, + ORGID ":" CPU_CAP_CLASS_NAME ":%s", dmi_cpus[i].id); + snprintf(element_name, ELEMENT_NAME_LEN, "%s%s", + element_name_string, dmi_cpus[i].id); cores = dmi_cpus[i].cores; threads = dmi_cpus[i].threads; - - if (asprintf(&element_name, "%s%s", - element_name_string, dmi_cpus[i].id) < 0) { - element_name = NULL; - error_msg = "Not enough available memory."; - goto done; - } } else { - if (asprintf(&instance_id, ORGID ":" CPU_CAP_CLASS_NAME ":%u", - i) < 0) { - instance_id = NULL; - error_msg = "Not enough available memory."; - goto done; - } - + snprintf(instance_id, INSTANCE_ID_LEN, + ORGID ":" CPU_CAP_CLASS_NAME ":%u", i); + snprintf(element_name, ELEMENT_NAME_LEN, "%s%u", + element_name_string, i); cores = lscpu.cores; threads = lscpu.threads_per_core * lscpu.cores; - - if (asprintf(&element_name, "%s%u", - element_name_string, i) < 0) { - element_name = NULL; - error_msg = "Not enough available memory."; - goto done; - } } LMI_ProcessorCapabilities_Set_InstanceID(&lmi_cpu_cap, instance_id); @@ -138,27 +119,9 @@ static CMPIStatus LMI_ProcessorCapabilitiesEnumInstances( LMI_ProcessorCapabilities_Set_ElementName(&lmi_cpu_cap, element_name); KReturnInstance(cr, lmi_cpu_cap); - - if (instance_id) { - free(instance_id); - } - instance_id = NULL; - if (element_name) { - free(element_name); - } - element_name = NULL; } done: - if (instance_id) { - free(instance_id); - } - instance_id = NULL; - if (element_name) { - free(element_name); - } - element_name = NULL; - /* free lscpu only if it was used */ if (dmi_cpus_nb < 1) { lscpu_free_processor(&lscpu); |