From e6e7f56c9bba3b2191583c4c1d0599370d1f00c7 Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Thu, 20 Mar 2025 15:30:13 -0400 Subject: pke: replace PkeArray with pk_arr_t --- src/plugins.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'src/plugins.cpp') diff --git a/src/plugins.cpp b/src/plugins.cpp index b6acc63..c7bd7c8 100644 --- a/src/plugins.cpp +++ b/src/plugins.cpp @@ -1,7 +1,6 @@ #include "plugins.hpp" -#include "array.hpp" #include "pk.h" #include @@ -14,9 +13,8 @@ #include #endif -DynArray LoadedPkePlugins; -PkeArray pkePluginCallbacks; -PkeArray sortedSignatures; +pk_arr_t LoadedPkePlugins; +pk_arr_t pkePluginCallbacks; void PkePlugin_Load(const char *path) { if (path == nullptr || path == CAFE_BABE(void)) { @@ -36,13 +34,13 @@ void PkePlugin_Load(const char *path) { return; } interface->pluginHandle = extension; - LoadedPkePlugins.Push(*interface); + pk_arr_append(&LoadedPkePlugins, interface); } PkeCallback *PkePlugin_FindSignature(const CallbackSignature &sig) { for (long i = 0; i < pkePluginCallbacks.next; ++i) { - if (strncmp(sig, pkePluginCallbacks.data[i].name, 16) == 0) { - return &pkePluginCallbacks.data[i]; + if (strncmp(sig, pkePluginCallbacks[i].name, 16) == 0) { + return &pkePluginCallbacks[i]; } } return nullptr; @@ -66,12 +64,13 @@ int pstrncmp(const void* a, const void* b) return strncmp(static_cast(a)[0], static_cast(b)[0], 16); } CallbackSignature *PkePlugin_GetSortedSignatures(long &count) { + static pk_arr_t sortedSignatures; if (sortedSignatures.next != pkePluginCallbacks.next) { while (sortedSignatures.next != pkePluginCallbacks.next) { - PkeArray_Add(&sortedSignatures, pkePluginCallbacks.data[sortedSignatures.next].name); + pk_arr_append(&sortedSignatures, pkePluginCallbacks[sortedSignatures.next].name); } qsort(sortedSignatures.data, sortedSignatures.next, sizeof(CallbackSignature), pstrncmp); } count = sortedSignatures.next; - return sortedSignatures.data; + return &sortedSignatures[0]; } -- cgit v1.2.3