summaryrefslogtreecommitdiffstats
path: root/src/hardware/LMI_ProcessorCapabilitiesProvider.c
diff options
context:
space:
mode:
authorPeter Schiffer <pschiffe@redhat.com>2013-04-08 20:25:59 +0200
committerPeter Schiffer <pschiffe@redhat.com>2013-04-08 20:25:59 +0200
commit699a49933d2b2690888f719a447682d85c9942b0 (patch)
treeabaf80cecec848db033318cfe84bac08b884dbdc /src/hardware/LMI_ProcessorCapabilitiesProvider.c
parent9b77270eebd073ab4060ac84e4b40fc0652dff07 (diff)
downloadopenlmi-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.c57
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);