diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2025-03-20 15:30:13 -0400 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2025-03-21 11:06:05 -0400 |
| commit | e6e7f56c9bba3b2191583c4c1d0599370d1f00c7 (patch) | |
| tree | 27476da693d9e75d920a698d57b74699f9f81c7a /src/plugins.cpp | |
| parent | 9b39b4c8eab360e087423f06ecffb694a3b98b23 (diff) | |
pke: replace PkeArray with pk_arr_t
Diffstat (limited to 'src/plugins.cpp')
| -rw-r--r-- | src/plugins.cpp | 17 |
1 files changed, 8 insertions, 9 deletions
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 <cassert> @@ -14,9 +13,8 @@ #include <dlfcn.h> #endif -DynArray<PKEPluginInterface> LoadedPkePlugins; -PkeArray<PkeCallback> pkePluginCallbacks; -PkeArray<CallbackSignature> sortedSignatures; +pk_arr_t<PKEPluginInterface> LoadedPkePlugins; +pk_arr_t<PkeCallback> 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<const CallbackSignature *>(a)[0], static_cast<const CallbackSignature *>(b)[0], 16); } CallbackSignature *PkePlugin_GetSortedSignatures(long &count) { + static pk_arr_t<CallbackSignature> 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]; } |
