if (VIR_ALLOC(addrs->zpciIds) < 0)
return -1;
- if (!(addrs->zpciIds->uids = virHashCreateFull(10, NULL, NULL,
+ if (!(addrs->zpciIds->uids = virHashCreateFull(10, NULL,
virZPCIAddrKeyCode,
virZPCIAddrKeyEqual,
virZPCIAddrKeyCopy,
virZPCIAddrKeyFree)))
goto error;
- if (!(addrs->zpciIds->fids = virHashCreateFull(10, NULL, NULL,
+ if (!(addrs->zpciIds->fids = virHashCreateFull(10, NULL,
virZPCIAddrKeyCode,
virZPCIAddrKeyEqual,
virZPCIAddrKeyCopy,
}
static void
-hashDataFree(void *payload, const void *name G_GNUC_UNUSED)
+hashDataFree(void *payload)
{
virNWFilterVarValueFree(payload);
}
*
* @data Opaque data, struct holding information about the device
*/
-static void virChrdevHashEntryFree(void *data, const void *key G_GNUC_UNUSED)
+static void virChrdevHashEntryFree(void *data)
{
virChrdevHashEntry *ent = data;
VIR_FREE(cbdata->path);
VIR_FREE(cbdata);
virMutexUnlock(&devs->lock);
- virChrdevHashEntryFree(ent, NULL);
+ virChrdevHashEntryFree(ent);
return -1;
}
static void
-virDomainMomentObjListDataFree(void *payload,
- const void *name G_GNUC_UNUSED)
+virDomainMomentObjListDataFree(void *payload)
{
virDomainMomentObjPtr obj = payload;
static void
-virNetworkObjPortFree(void *val, const void *key G_GNUC_UNUSED)
+virNetworkObjPortFree(void *val)
{
virNetworkPortDefFree(val);
}
};
static void
-libxlLoggerFileFree(void *payload, const void *key G_GNUC_UNUSED)
+libxlLoggerFileFree(void *payload)
{
FILE *file = payload;
VIR_FORCE_FCLOSE(file);
virMutexUnlock(&lockd->lock);
}
-static void virLockDaemonLockSpaceDataFree(void *data,
- const void *key G_GNUC_UNUSED)
+static void virLockDaemonLockSpaceDataFree(void *data)
{
virLockSpaceFree(data);
}
* virNWFilterSnoopReqRelease - hash table free function to kill a request
*/
static void
-virNWFilterSnoopReqRelease(void *req0, const void *name G_GNUC_UNUSED)
+virNWFilterSnoopReqRelease(void *req0)
{
virNWFilterSnoopReqPtr req = req0;
* - if we still have a valid lease, keep the req for restarts
*/
if (virHashLookup(virNWFilterSnoopState.snoopReqs, req->ifkey) != req) {
- virNWFilterSnoopReqRelease(req, NULL);
+ virNWFilterSnoopReqRelease(req);
} else if (!req->start || req->start->timeout < time(0)) {
ignore_value(virHashRemoveEntry(virNWFilterSnoopState.snoopReqs,
req->ifkey));
static void
-freeLearnReqEntry(void *payload, const void *name G_GNUC_UNUSED)
+freeLearnReqEntry(void *payload)
{
virNWFilterIPAddrLearnReqFree(payload);
}
static void
-qemuBlockNodeNameBackingChainDataHashEntryFree(void *opaque,
- const void *name G_GNUC_UNUSED)
+qemuBlockNodeNameBackingChainDataHashEntryFree(void *opaque)
{
qemuBlockNodeNameBackingChainDataFree(opaque);
}
}
void
-qemuSharedDeviceEntryFree(void *payload, const void *name G_GNUC_UNUSED)
+qemuSharedDeviceEntryFree(void *payload)
{
qemuSharedDeviceEntryPtr entry = payload;
size_t i;
return 0;
error:
- qemuSharedDeviceEntryFree(entry, NULL);
+ qemuSharedDeviceEntryFree(entry);
return -1;
}
char *qemuGetSharedDeviceKey(const char *disk_path)
ATTRIBUTE_NONNULL(1);
-void qemuSharedDeviceEntryFree(void *payload, const void *name);
+void qemuSharedDeviceEntryFree(void *payload);
int qemuAddSharedDisk(virQEMUDriverPtr driver,
virDomainDiskDefPtr disk,
static void
-dbusVMStateHashFree(void *opaque,
- const void *name G_GNUC_UNUSED)
+dbusVMStateHashFree(void *opaque)
{
qemuDBusVMStateFree(opaque);
}
static void
-qemuMigrationDstErrorFree(void *data,
- const void *name G_GNUC_UNUSED)
+qemuMigrationDstErrorFree(void *data)
{
virErrorPtr err = data;
virFreeError(err);
static void
-qemuDomainDiskInfoFree(void *value, const void *name G_GNUC_UNUSED)
+qemuDomainDiskInfoFree(void *value)
{
struct qemuDomainDiskInfo *info = value;
void
-qemuMonitorChardevInfoFree(void *data,
- const void *name G_GNUC_UNUSED)
+qemuMonitorChardevInfoFree(void *data)
{
qemuMonitorChardevInfoPtr info = data;
char *ptyPath;
virDomainChrDeviceState state;
};
-void qemuMonitorChardevInfoFree(void *data, const void *name);
+void qemuMonitorChardevInfoFree(void *data);
int qemuMonitorGetChardevInfo(qemuMonitorPtr mon,
virHashTablePtr *retinfo);
if (!(nodes = qemuMonitorJSONQueryNamedBlockNodes(mon)))
return NULL;
- if (!(ret = virHashNew((virHashDataFreeSimple) qemuMonitorJSONBlockNamedNodeDataFree)))
+ if (!(ret = virHashNew((virHashDataFree) qemuMonitorJSONBlockNamedNodeDataFree)))
return NULL;
if (virJSONValueArrayForeachSteal(nodes,
bool backendAvailable = false;
virCgroupBackendPtr *backends = virCgroupBackendGetAll();
virHashTablePtr pids = virHashCreateFull(100,
- NULL, NULL,
+ NULL,
virCgroupPidCode,
virCgroupPidEqual,
virCgroupPidCopy,
size_t size;
size_t nbElems;
virHashDataFree dataFree;
- virHashDataFreeSimple dataFreeSimple;
virHashKeyCode keyCode;
virHashKeyEqual keyEqual;
virHashKeyCopy keyCopy;
void
-virHashValueFree(void *value, const void *name G_GNUC_UNUSED)
+virHashValueFree(void *value)
{
VIR_FREE(value);
}
*/
virHashTablePtr virHashCreateFull(ssize_t size,
virHashDataFree dataFree,
- virHashDataFreeSimple dataFreeSimple,
virHashKeyCode keyCode,
virHashKeyEqual keyEqual,
virHashKeyCopy keyCopy,
table->seed = virRandomBits(32);
table->size = size;
table->nbElems = 0;
- if (dataFree)
- table->dataFree = dataFree;
- else
- table->dataFreeSimple = dataFreeSimple;
+ table->dataFree = dataFree;
table->keyCode = keyCode;
table->keyEqual = keyEqual;
table->keyCopy = keyCopy;
* Returns the newly created object, or NULL if an error occurred.
*/
virHashTablePtr
-virHashNew(virHashDataFreeSimple dataFree)
+virHashNew(virHashDataFree dataFree)
{
return virHashCreateFull(32,
- NULL,
dataFree,
virHashStrCode,
virHashStrEqual,
{
return virHashCreateFull(size,
dataFree,
- NULL,
virHashStrCode,
virHashStrEqual,
virHashStrCopy,
virHashEntryPtr next = iter->next;
if (table->dataFree)
- table->dataFree(iter->payload, iter->name);
- if (table->dataFreeSimple)
- table->dataFreeSimple(iter->payload);
+ table->dataFree(iter->payload);
if (table->keyFree)
table->keyFree(iter->name);
VIR_FREE(iter);
if (table->keyEqual(entry->name, name)) {
if (is_update) {
if (table->dataFree)
- table->dataFree(entry->payload, entry->name);
- if (table->dataFreeSimple)
- table->dataFreeSimple(entry->payload);
+ table->dataFree(entry->payload);
entry->payload = userdata;
return 0;
} else {
void *data = virHashLookup(table, name);
if (data) {
virHashDataFree dataFree = table->dataFree;
- virHashDataFreeSimple dataFreeSimple = table->dataFreeSimple;
table->dataFree = NULL;
- table->dataFreeSimple = NULL;
virHashRemoveEntry(table, name);
table->dataFree = dataFree;
- table->dataFreeSimple = dataFreeSimple;
}
return data;
}
for (entry = *nextptr; entry; entry = entry->next) {
if (table->keyEqual(entry->name, name)) {
if (table->dataFree)
- table->dataFree(entry->payload, entry->name);
+ table->dataFree(entry->payload);
if (table->keyFree)
table->keyFree(entry->name);
*nextptr = entry->next;
} else {
count++;
if (table->dataFree)
- table->dataFree(entry->payload, entry->name);
+ table->dataFree(entry->payload);
if (table->keyFree)
table->keyFree(entry->name);
*nextptr = entry->next;
/**
* virHashDataFree:
* @payload: the data in the hash
- * @name: the name associated
*
* Callback to free data from a hash.
*/
-typedef void (*virHashDataFree) (void *payload, const void *name);
-/**
- * virHashDataFreeSimple:
- * @payload: the data in the hash
- * @name: the name associated
- *
- * Callback to free data from a hash.
- */
-typedef void (*virHashDataFreeSimple) (void *payload);
+typedef void (*virHashDataFree) (void *payload);
/**
* virHashIterator:
/*
* Constructor and destructor.
*/
-virHashTablePtr virHashNew(virHashDataFreeSimple dataFree);
+virHashTablePtr virHashNew(virHashDataFree dataFree);
virHashTablePtr virHashCreate(ssize_t size,
virHashDataFree dataFree);
virHashAtomicPtr virHashAtomicNew(ssize_t size,
virHashDataFree dataFree);
virHashTablePtr virHashCreateFull(ssize_t size,
virHashDataFree dataFree,
- virHashDataFreeSimple dataFreeSimple,
virHashKeyCode keyCode,
virHashKeyEqual keyEqual,
virHashKeyCopy keyCopy,
const void *data, void **name);
/* Convenience for when VIR_FREE(value) is sufficient as a data freer. */
-void virHashValueFree(void *value, const void *name);
+void virHashValueFree(void *value);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(virHashTable, virHashFree);
void
-virJSONValueHashFree(void *opaque,
- const void *name G_GNUC_UNUSED)
+virJSONValueHashFree(void *opaque)
{
virJSONValueFree(opaque);
}
typedef virJSONValue *virJSONValuePtr;
void virJSONValueFree(virJSONValuePtr value);
-void virJSONValueHashFree(void *opaque, const void *name);
+void virJSONValueHashFree(void *opaque);
virJSONType virJSONValueGetType(const virJSONValue *value);
}
-static void virKeyFileEntryFree(void *payload, const void *name G_GNUC_UNUSED)
+static void virKeyFileEntryFree(void *payload)
{
virHashFree(payload);
}
}
-static void virLockSpaceResourceDataFree(void *opaque, const void *name G_GNUC_UNUSED)
+static void virLockSpaceResourceDataFree(void *opaque)
{
virLockSpaceResourcePtr res = opaque;
virLockSpaceResourceFree(res);
* typedef.
*/
void
-virObjectFreeHashData(void *opaque,
- const void *name G_GNUC_UNUSED)
+virObjectFreeHashData(void *opaque)
{
virObjectUnref(opaque);
}
virObjectFreeCallback(void *opaque);
void
-virObjectFreeHashData(void *opaque,
- const void *name);
+virObjectFreeHashData(void *opaque);
void *
virObjectLockableNew(virClassPtr klass)
static void
-virSystemdActivationEntryFree(void *data, const void *name)
+virSystemdActivationEntryFree(void *data)
{
virSystemdActivationEntryPtr ent = data;
size_t i;
- VIR_DEBUG("Closing activation FDs for %s", (const char *)name);
+ VIR_DEBUG("Closing activation FDs");
for (i = 0; i < ent->nfds; i++) {
VIR_DEBUG("Closing activation FD %d", ent->fds[i]);
VIR_FORCE_CLOSE(ent->fds[i]);
return -1;
if (VIR_ALLOC_N(ent->fds, 1) < 0) {
- virSystemdActivationEntryFree(ent, name);
+ virSystemdActivationEntryFree(ent);
return -1;
}
VIR_DEBUG("Record first FD %d with name %s", fd, name);
if (virHashAddEntry(act->fds, name, ent) < 0) {
- virSystemdActivationEntryFree(ent, name);
+ virSystemdActivationEntryFree(ent);
return -1;
}