# HG changeset patch
# User Gareth S. Bestor <bestor@us.ibm.com>
# Date 1313162799 25200
# Node ID 39c85f57c94fa36c681d4e9caa6e14617dcc7e60
# Parent 8b4f6d69f40904ced24f7948f04f89e770e37bce
Patches for Virt_SettingsDefineCapabilities:
incorrect Default ValueRole, strstr() misuse
- The CIM_AllocationCapabilities for
'Default' RASDs have the incorrect ValueRole. per DSP1043 "Allocation
Capabilities Profile", Section 10.5 "CIM_SettingsDefineCapabilities
– Default" the ValueRole should be 0 ("Default")
- Fixed mistake with usage of strstr()
swapping the arguments; should be:
char *strstr(const
char *haystack, const char *needle);
This may not have mattered before
when both strings were always exactly same or didnt match, but now for
new 'Point' instances the instanceid has a prefix.
Signed-off-by: Gareth S. Bestor <bestor@us.ibm.com>
diff -r 8b4f6d69f409 -r 39c85f57c94f
src/Virt_SettingsDefineCapabilities.c
--- a/src/Virt_SettingsDefineCapabilities.c
Mon Aug 08 11:40:09 2011 -0700
+++ b/src/Virt_SettingsDefineCapabilities.c
Fri Aug 12 08:26:39 2011 -0700
@@ -2054,19 +2054,22 @@
goto out;
}
- if (strstr("Default",
iid) != NULL)
+ if (strstr(iid,
"Default") != NULL) {
valuerange = SDC_RANGE_POINT;
- else if
(strstr("Increment", iid) != NULL)
+
valuerole = SDC_ROLE_DEFAULT;
+ }
+ else if
(strstr(iid, "Point") != NULL)
+
valuerange = SDC_RANGE_POINT;
+ else if
(strstr(iid, "Increment") != NULL)
valuerange = SDC_RANGE_INC;
- else if
(strstr("Maximum", iid) != NULL)
+ else if
(strstr(iid, "Maximum") != NULL)
valuerange = SDC_RANGE_MAX;
- else if
(strstr("Minimum", iid) != NULL)
+ else if
(strstr(iid, "Minimum") != NULL)
valuerange = SDC_RANGE_MIN;
- else
-
CU_DEBUG("Unknown default RASD type: `%s'",
iid);
-
- if (valuerange
== SDC_RANGE_POINT)
-
valuerole = SDC_ROLE_DEFAULT;
+ else {
+
CU_DEBUG("Unknown RASD type: `%s'", iid);
+
goto out;
+ }
CMSetProperty(ref_inst,
"ValueRole",
(CMPIValue *)&valuerole, CMPI_uint16);