} master;
/* rombar and romfile are only used for pci hostdev and network
* devices. */
- int romenabled; /* enum virTristateBool */
- int rombar; /* enum virTristateSwitch */
+ virTristateBool romenabled;
+ virTristateSwitch rombar;
char *romfile;
/* bootIndex is only used for disk, network interface, hostdev
* and redirdev devices */
if ((flags & VIR_DOMAIN_DEF_PARSE_ALLOW_ROM) &&
(rom = virXPathNode("./rom", ctxt))) {
- if ((romenabled = virXPathString("string(./rom/@enabled)", ctxt)) &&
- ((info->romenabled = virTristateBoolTypeFromString(romenabled)) <= 0)) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- _("unknown rom enabled value '%s'"), romenabled);
- goto cleanup;
+ if ((romenabled = virXPathString("string(./rom/@enabled)", ctxt))) {
+ int value;
+ if ((value = virTristateBoolTypeFromString(romenabled)) <= 0) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("unknown rom enabled value '%s'"), romenabled);
+ goto cleanup;
+ }
+ info->romenabled = value;
}
- if ((rombar = virXPathString("string(./rom/@bar)", ctxt)) &&
- ((info->rombar = virTristateSwitchTypeFromString(rombar)) <= 0)) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- _("unknown rom bar value '%s'"), rombar);
- goto cleanup;
+ if ((rombar = virXPathString("string(./rom/@bar)", ctxt))) {
+ int value;
+ if ((value = virTristateSwitchTypeFromString(rombar)) <= 0) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("unknown rom bar value '%s'"), rombar);
+ goto cleanup;
+ }
+ info->rombar = value;
}
info->romfile = virXMLPropString(rom, "file");
/* device alias is checked already in virDomainDefCompatibleDevice */
- if (newdev->info.rombar == VIR_TRISTATE_BOOL_ABSENT)
+ if (newdev->info.rombar == VIR_TRISTATE_SWITCH_ABSENT)
newdev->info.rombar = olddev->info.rombar;
if (olddev->info.rombar != newdev->info.rombar) {
virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",