static void lxcSetCapDrop(virDomainDefPtr def, virConfPtr properties) { virConfValuePtr value; char **toDrop = NULL; const char *capString; size_t i; if ((value = virConfGetValue(properties, "lxc.cap.drop")) && value->str) toDrop = virStringSplit(value->str, " ", 0); for (i = 0; i < VIR_DOMAIN_CAPS_FEATURE_LAST; i++) { capString = virDomainCapsFeatureTypeToString(i); if (toDrop != NULL && virStringArrayHasString(toDrop, capString)) def->caps_features[i] = VIR_TRISTATE_SWITCH_OFF; } def->features[VIR_DOMAIN_FEATURE_CAPABILITIES] = VIR_DOMAIN_CAPABILITIES_POLICY_ALLOW; virStringFreeList(toDrop); }
static void lxcSetCapDrop(virDomainDefPtr def, virConfPtr properties) { VIR_AUTOFREE(char *) value = NULL; char **toDrop = NULL; const char *capString; size_t i; if (virConfGetValueString(properties, "lxc.cap.drop", &value) > 0) toDrop = virStringSplit(value, " ", 0); for (i = 0; i < VIR_DOMAIN_CAPS_FEATURE_LAST; i++) { capString = virDomainCapsFeatureTypeToString(i); if (toDrop != NULL && virStringListHasString((const char **)toDrop, capString)) def->caps_features[i] = VIR_TRISTATE_SWITCH_OFF; } def->features[VIR_DOMAIN_FEATURE_CAPABILITIES] = VIR_DOMAIN_CAPABILITIES_POLICY_ALLOW; virStringListFree(toDrop); }