summaryrefslogtreecommitdiff
path: root/src/plugins.cpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2025-03-20 15:30:13 -0400
committerJonathan Bradley <jcb@pikum.xyz>2025-03-21 11:06:05 -0400
commite6e7f56c9bba3b2191583c4c1d0599370d1f00c7 (patch)
tree27476da693d9e75d920a698d57b74699f9f81c7a /src/plugins.cpp
parent9b39b4c8eab360e087423f06ecffb694a3b98b23 (diff)
pke: replace PkeArray with pk_arr_t
Diffstat (limited to 'src/plugins.cpp')
-rw-r--r--src/plugins.cpp17
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];
}