From 3d3a62dfe6c9f0789fea4d3bcfc9ed4940bca270 Mon Sep 17 00:00:00 2001 From: Victor Julien Date: Fri, 24 Nov 2023 19:35:54 +0100 Subject: [PATCH] host/storage: use flex array for host storage --- src/host-storage.c | 10 +++++----- src/host.h | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/host-storage.c b/src/host-storage.c index 72261de99d..234c67112e 100644 --- a/src/host-storage.c +++ b/src/host-storage.c @@ -74,7 +74,7 @@ HostStorageId HostStorageRegister(const char *name, const unsigned int size, int HostSetStorageById(Host *h, HostStorageId id, void *ptr) { - return StorageSetById((Storage *)((void *)h + sizeof(Host)), STORAGE_HOST, id.id, ptr); + return StorageSetById(h->storage, STORAGE_HOST, id.id, ptr); } /** @@ -87,7 +87,7 @@ int HostSetStorageById(Host *h, HostStorageId id, void *ptr) void *HostGetStorageById(Host *h, HostStorageId id) { - return StorageGetById((Storage *)((void *)h + sizeof(Host)), STORAGE_HOST, id.id); + return StorageGetById(h->storage, STORAGE_HOST, id.id); } /** @@ -98,18 +98,18 @@ void *HostGetStorageById(Host *h, HostStorageId id) void *HostAllocStorageById(Host *h, HostStorageId id) { - return StorageAllocByIdPrealloc((Storage *)((void *)h + sizeof(Host)), STORAGE_HOST, id.id); + return StorageAllocByIdPrealloc(h->storage, STORAGE_HOST, id.id); } void HostFreeStorageById(Host *h, HostStorageId id) { - StorageFreeById((Storage *)((void *)h + sizeof(Host)), STORAGE_HOST, id.id); + StorageFreeById(h->storage, STORAGE_HOST, id.id); } void HostFreeStorage(Host *h) { if (HostStorageSize() > 0) - StorageFreeAll((Storage *)((void *)h + sizeof(Host)), STORAGE_HOST); + StorageFreeAll(h->storage, STORAGE_HOST); } diff --git a/src/host.h b/src/host.h index 2c6a037edf..f4f248b5ee 100644 --- a/src/host.h +++ b/src/host.h @@ -68,9 +68,6 @@ typedef struct Host_ { /** pointers to iprep storage */ void *iprep; - /** storage api handle */ - Storage *storage; - /** hash pointers, protected by hash row mutex/spin */ struct Host_ *hnext; struct Host_ *hprev; @@ -78,6 +75,9 @@ typedef struct Host_ { /** list pointers, protected by host-queue mutex/spin */ struct Host_ *lnext; struct Host_ *lprev; + + /** storage api handle */ + Storage storage[]; } Host; typedef struct HostHashRow_ { -- 2.47.2