I've started rewriting parser to use virXMLPropEnum() functions family more instead of virXMLPropString() + str2enum. This is what I've done so far. If these get merged I can continue working on it. Michal Prívozník (17): Drop needless typecast to virStorageType enum virStorageSourceGetActualType: Change type of retval virDomainBackupDefParse: Switch to virXMLPropEnumDefault() virDomainDeviceAddressParseXML: Switch to virXMLPropEnumDefault() virDomainStorageNetworkParseHost: Switch to virXMLPropEnumDefault() virDomainHostdevSubsysSCSIDefParseXML: Switch to virXMLPropEnumDefault() virDomainHostdevSubsysSCSIVHostDefParseXML: Switch to virXMLPropEnumDefault() virDomainDiskSourceNVMeParse: Switch to virXMLPropEnumDefault() virDomainDiskDefMirrorParse: Switch to virXMLPropEnumDefault() virDomainDiskSourcePoolDefParse: Switch to virXMLPropEnumDefault() virDomainDiskDefParseSourceXML: Switch to virXMLPropEnumDefault() virDomainChrDefParseXML: Switch to virXMLPropEnumDefault() virDomainTPMDefParseXML: Switch to virXMLPropEnumDefault() virDomainPanicDefParseXML: Switch to virXMLPropEnumDefault() virDomainInputDefParseXML: Switch to virXMLPropEnumDefault() virDomainHubDefParseXML: Switch to virXMLPropEnumDefault() virDomainTimerDefParseXML: Switch to virXMLPropEnumDefault() src/ch/ch_monitor.c | 2 +- src/conf/backup_conf.c | 16 +- src/conf/backup_conf.h | 2 +- src/conf/device_conf.c | 12 +- src/conf/device_conf.h | 4 +- src/conf/domain_audit.c | 2 +- src/conf/domain_conf.c | 494 ++++++------------ src/conf/domain_conf.h | 54 +- src/conf/domain_validate.c | 6 +- src/conf/storage_source_conf.c | 2 +- src/conf/storage_source_conf.h | 8 +- src/conf/virchrdev.c | 24 + src/libxl/libxl_conf.c | 28 +- src/libxl/libxl_domain.c | 2 +- src/libxl/xen_common.c | 25 +- src/libxl/xen_xl.c | 7 +- src/libxl/xen_xm.c | 3 + src/locking/domain_lock.c | 2 +- src/lxc/lxc_cgroup.c | 2 +- src/lxc/lxc_controller.c | 2 +- src/qemu/qemu_backup.c | 2 +- src/qemu/qemu_block.c | 14 +- src/qemu/qemu_cgroup.c | 12 + src/qemu/qemu_command.c | 49 +- src/qemu/qemu_domain.c | 40 +- src/qemu/qemu_domain_address.c | 4 +- src/qemu/qemu_driver.c | 4 +- src/qemu/qemu_hotplug.c | 4 +- src/qemu/qemu_migration.c | 6 +- src/qemu/qemu_monitor.c | 54 +- src/qemu/qemu_monitor_json.c | 4 +- src/qemu/qemu_process.c | 10 +- src/qemu/qemu_snapshot.c | 16 +- src/qemu/qemu_validate.c | 19 +- src/security/security_apparmor.c | 6 +- src/security/security_dac.c | 8 +- src/security/security_selinux.c | 24 +- .../storage_file_backend_gluster.c | 2 +- src/storage_file/storage_source.c | 4 +- .../storage_source_backingstore.c | 16 +- src/vmx/vmx.c | 22 + tests/qemuxml2argvtest.c | 2 +- tests/testutilsqemu.c | 2 +- 43 files changed, 532 insertions(+), 489 deletions(-) -- 2.35.1