Our hash table API was surprisingly close to glibs. Peter Krempa (13): virhashtest: testHashGetItems: Remove test case for sorting by value util: hash: Rewrite sorting of elements in virHashGetItems util: virhash: Standardize on 'opaque' for opaque data util: hash: Introduce virHashForEachSorted Use virHashForEachSorted in tested code tests: remove virdeterministichashmock.so util: hash: Add delete-safe hash iterator util: hash: Use virHashForEachSafe in places which might delete the element util: hash: Don't use 'const' with virHashTablePtr util: hash: Reimplement virHashTable using GHashTable util: hash: Retire 'virHashTable' in favor of 'GHashTable' util: hash: Add deprecation notices for functions which have g_hash_table replacements tests: Remove 'virhashtest' src/conf/backup_conf.c | 2 +- src/conf/domain_addr.h | 2 +- src/conf/domain_conf.c | 12 +- src/conf/domain_conf.h | 2 +- src/conf/nwfilter_conf.h | 2 +- src/conf/nwfilter_ipaddrmap.c | 2 +- src/conf/nwfilter_params.c | 34 +- src/conf/nwfilter_params.h | 18 +- src/conf/snapshot_conf.c | 2 +- src/conf/virchrdev.c | 4 +- src/conf/virdomainmomentobjlist.c | 4 +- src/conf/virdomainobjlist.c | 6 +- src/conf/virinterfaceobj.c | 2 +- src/conf/virnetworkobj.c | 8 +- src/conf/virnodedeviceobj.c | 2 +- src/conf/virnwfilterbindingdef.h | 2 +- src/conf/virnwfilterbindingobjlist.c | 4 +- src/conf/virsecretobj.c | 2 +- src/conf/virstorageobj.c | 14 +- src/hyperv/hyperv_driver.c | 4 +- src/hyperv/hyperv_wmi.c | 18 +- src/hyperv/hyperv_wmi.h | 12 +- src/hypervisor/virclosecallbacks.c | 2 +- src/libvirt_private.syms | 6 +- src/libxl/libxl_logger.c | 2 +- src/locking/lock_daemon.c | 4 +- src/nwfilter/nwfilter_dhcpsnoop.c | 6 +- src/nwfilter/nwfilter_ebiptables_driver.c | 19 +- src/nwfilter/nwfilter_gentech_driver.c | 36 +- src/nwfilter/nwfilter_gentech_driver.h | 2 +- src/nwfilter/nwfilter_learnipaddr.c | 4 +- src/nwfilter/nwfilter_tech_driver.h | 2 +- src/qemu/qemu_agent.c | 4 +- src/qemu/qemu_backup.c | 14 +- src/qemu/qemu_backup.h | 2 +- src/qemu/qemu_block.c | 42 +- src/qemu/qemu_block.h | 18 +- src/qemu/qemu_blockjob.c | 6 +- src/qemu/qemu_capabilities.c | 8 +- src/qemu/qemu_checkpoint.c | 6 +- src/qemu/qemu_checkpoint.h | 2 +- src/qemu/qemu_conf.c | 4 +- src/qemu/qemu_conf.h | 2 +- src/qemu/qemu_domain.c | 8 +- src/qemu/qemu_domain.h | 2 +- src/qemu/qemu_driver.c | 24 +- src/qemu/qemu_interop_config.c | 13 +- src/qemu/qemu_migration.c | 2 +- src/qemu/qemu_migration_cookie.c | 2 +- src/qemu/qemu_monitor.c | 28 +- src/qemu/qemu_monitor.h | 20 +- src/qemu/qemu_monitor_json.c | 50 +- src/qemu/qemu_monitor_json.h | 22 +- src/qemu/qemu_process.c | 18 +- src/qemu/qemu_qapi.c | 14 +- src/qemu/qemu_qapi.h | 6 +- src/qemu/qemu_snapshot.c | 16 +- src/rpc/virnetdaemon.c | 13 +- src/security/security_selinux.c | 2 +- src/util/meson.build | 1 - src/util/virfilecache.c | 2 +- src/util/virhash.c | 569 +++++++----------- src/util/virhash.h | 57 +- src/util/virhashcode.c | 125 ---- src/util/virhashcode.h | 33 - src/util/viriptables.c | 4 +- src/util/virlockspace.c | 4 +- src/util/virmacmap.c | 4 +- src/util/virstoragefile.c | 8 +- src/util/virsystemd.c | 2 +- tests/meson.build | 2 - tests/nwfilterxml2firewalltest.c | 24 +- tests/qemublocktest.c | 26 +- tests/qemuhotplugtest.c | 6 +- tests/qemumigparamstest.c | 4 +- tests/qemumonitorjsontest.c | 30 +- tests/qemumonitortestutils.c | 6 +- tests/qemumonitortestutils.h | 4 +- tests/qemusecuritymock.c | 4 +- .../blockjob-blockdev-in.xml | 116 ++-- tests/qemuxml2argvtest.c | 4 +- tests/qemuxml2xmltest.c | 5 +- tests/testutilsqemu.c | 6 +- tests/testutilsqemu.h | 4 +- tests/testutilsqemuschema.c | 10 +- tests/testutilsqemuschema.h | 8 +- tests/virdeterministichashmock.c | 36 -- tests/virhashdata.h | 284 --------- tests/virhashtest.c | 564 ----------------- tests/virmacmaptest.c | 2 +- 90 files changed, 680 insertions(+), 1863 deletions(-) delete mode 100644 src/util/virhashcode.c delete mode 100644 src/util/virhashcode.h delete mode 100644 tests/virdeterministichashmock.c delete mode 100644 tests/virhashdata.h delete mode 100644 tests/virhashtest.c -- 2.26.2