
On Mon, Feb 19, 2018 at 16:26:35 +0100, Andrea Bolognani wrote:
On Mon, 2018-02-19 at 16:06 +0100, Peter Krempa wrote:
case VIR_DOMAIN_CONTROLLER_TYPE_PCI: { - const virDomainPCIControllerOpts *pciopts; - const char *modelName = NULL; - - pciopts = &def->opts.pciopts; - if (def->model != VIR_DOMAIN_CONTROLLER_MODEL_PCIE_ROOT && - def->model != VIR_DOMAIN_CONTROLLER_MODEL_PCI_LAST) - modelName = virDomainControllerPCIModelNameTypeToString(pciopts->modelName); + const virDomainPCIControllerOpts *pciopts = &def->opts.pciopts; + const char *modelName = virDomainControllerPCIModelNameTypeToString(pciopts->modelName);
This is not equivalent. virDomainControllerPCIModelName implementation actually defines a string for VIR_DOMAIN_CONTROLLER_MODEL_PCIE_ROOT so it will not return NULL and the commit message does not explain why/if it is actually okay.
The result doesn't change because the PCIE_ROOT case in the switch statement immediately following the conversion does nothing but error out, which makes whether or not modelName is NULL irrelevant.
I mistakenly looked into the case for PCI_ROOT, so that mislead me. I think it's okay in this case even without a comment. Thanks for the explanation.