Commit d900b539 authored by Aric Stewart's avatar Aric Stewart Committed by Alexandre Julliard

Parse out the full features by using the ',' character and do

comparisons based on the full feature names.
parent ea32fb93
......@@ -2399,12 +2399,36 @@ static UINT SetFeatureStates(MSIPACKAGE *package)
{
for(i = 0; i < package->loaded_features; i++)
{
if (strcmpiW(override,all)==0 ||
strstrW(override,package->features[i].Feature))
if (strcmpiW(override,all)==0)
{
package->features[i].ActionRequest= INSTALLSTATE_LOCAL;
package->features[i].Action = INSTALLSTATE_LOCAL;
}
else
{
LPWSTR ptr = override;
LPWSTR ptr2 = strchrW(override,',');
while (ptr)
{
if ((ptr2 &&
strncmpW(ptr,package->features[i].Feature, ptr2-ptr)==0)
|| (!ptr2 &&
strcmpW(ptr,package->features[i].Feature)==0))
{
package->features[i].ActionRequest= INSTALLSTATE_LOCAL;
package->features[i].Action = INSTALLSTATE_LOCAL;
break;
}
if (ptr2)
{
ptr=ptr2+1;
ptr2 = strchrW(ptr,',');
}
else
break;
}
}
}
HeapFree(GetProcessHeap(),0,override);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment