Clean up the XML parser functions to avoid use of the long type. Peter Krempa (43): util: xml: Remove unused virXPathNumber util: xml: Unexport virXMLXPathContextNew util: xml: Ensure proper header style in virxml.c util: xml: Use consistent naming for RNG validation error handling functions util: xml: Remove unused 'virXPathLongHex' virNodeDevCapsDefParseULong: Use virXPathUInt instead of virXPathULong conf: node_device: Rename virNodeDevCapsDefParseULong to virNodeDevCapsDefParseUInt virNodeDeviceCapPCIDefFormat: Use %u for unsigned values conf: Always use 'string()' conversion with virXPath(U)LongLong util: xml: Extract XPath evaluation for strings util: xml: Remove double->(u)ll conversion in virXPath(U)LongLong util: xml: Disallow aliasing of negative numbers in virXPathULongLong conf: node_device: Use 'string()' in XPath expressions for virNodeDevCapsDefParseUInt conf: node_device: Convert rest of virXPathUInt XPath expressions to number conf: node_device: Use 'string()' in XPath expressions for virNodeDevCapsDefParseIntOptional conf: numa: Don't fetch XML node count in virDomainNumatuneParseXML conf: cpu: Extract and refactor parsing of cache from virCPUDefParseXML util: xml: Reimplement virXPath(U)Int via virXPathEvalString util: xml: Introduce virXPathU(Int|LongLong)Base virNodeDevCapsDefParseHexId: Use 'virXPathUIntBase' util: xml: Disallow aliasing of negative numbers in virXPathUInt testParseNodeInfo: Rewrite to virXPathU(Int|LongLong) conf: domain: Convert from virXPathLong util: xml: Remove virXPathLong virQEMUCapsLoadCache: Use 'virXMLPropUInt' instead of 'virXPathULong' virNetDevIPRouteParseXML: Refactor to use 'virXMLProp*' instead of XPath virNetworkIPDefParseXML: Use virXMLPropUInt instead of virXPathULong virInterfaceDefParseMtu: Use virXPathUInt instead of virXPathULong virNetDevVlanParse: Use virXMLProp* helpers instead of XPath lookups virDomainTimerCatchupDef: Change members to 'unsigned long long' virDomainTimerDefParseXML: Refactor cleanup virDomainTimerDef: Convert 'name' field to proper enum type virDomainTimerDef: Convert 'tickpolicy' field to proper enum type virDomainTimerDef: Convert 'track' field to proper enum type virDomainTimerDef: Convert 'mode' field to proper enum type virDomainTimerDefParseXML: Use virXMLProp instead of virXPath virDomainNetDef: Change type of 'tune.sndbuf' virDomainSEVDefParseXML: Use virXPathUIntBase instead of virXPathULongHex ppc64ModelParse: Switch to virXMLPropUInt from virXPathULongHex qemuDomainObjPrivateXMLParseBlockjobData: Use virXMLPropUInt instead of virXPathULongHex virDomainJobObj: Use 'unsigned int' instead of 'unsigned long' for 'apiFlags' field cpu_arm: Avoid use of 'unsigned long' util: xml: Remove unused virXPathULong* src/conf/cpu_conf.c | 58 +-- src/conf/domain_conf.c | 153 +++----- src/conf/domain_conf.h | 16 +- src/conf/interface_conf.c | 14 +- src/conf/netdev_vlan_conf.c | 39 +- src/conf/network_conf.c | 25 +- src/conf/networkcommon_conf.c | 61 +-- src/conf/networkcommon_conf.h | 3 +- src/conf/node_device_conf.c | 160 ++++---- src/conf/numa_conf.c | 7 +- src/conf/storage_conf.c | 4 +- src/conf/virdomainjob.c | 4 +- src/conf/virdomainjob.h | 4 +- src/cpu/cpu_arm.c | 37 +- src/cpu/cpu_arm_data.h | 4 +- src/cpu/cpu_ppc64.c | 19 +- src/libvirt_private.syms | 8 +- src/libxl/libxl_conf.c | 6 +- src/libxl/xen_common.c | 6 +- src/qemu/qemu_capabilities.c | 7 +- src/qemu/qemu_command.c | 7 + src/qemu/qemu_domain.c | 5 +- src/qemu/qemu_domainjob.c | 7 +- src/qemu/qemu_migration.c | 2 +- src/qemu/qemu_migration_params.c | 8 +- src/qemu/qemu_migration_params.h | 4 +- src/qemu/qemu_process.c | 2 +- src/qemu/qemu_process.h | 2 +- src/qemu/qemu_validate.c | 8 + src/test/test_driver.c | 51 +-- src/util/virxml.c | 370 ++++++------------ src/util/virxml.h | 32 +- .../pci_0000_00_02_0_header_type.xml | 2 +- 33 files changed, 432 insertions(+), 703 deletions(-) -- 2.37.3