summaryrefslogtreecommitdiff
path: root/src/plugins.cpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2025-05-08 12:02:56 -0400
committerJonathan Bradley <jcb@pikum.xyz>2025-05-08 12:02:56 -0400
commit9693ff2d4be85d356e07e3192baaa2262a7140ff (patch)
tree6595e2350a8321a286e4dc0f13c393d4cf9999fe /src/plugins.cpp
parent32968050f0b34fdabfcc2a4fb5601d4be361bbd2 (diff)
pk.h: update to 0.5.0 + some breaking changes
Diffstat (limited to 'src/plugins.cpp')
-rw-r--r--src/plugins.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/plugins.cpp b/src/plugins.cpp
index c7bd7c8..5ec86af 100644
--- a/src/plugins.cpp
+++ b/src/plugins.cpp
@@ -15,6 +15,7 @@
pk_arr_t<PKEPluginInterface> LoadedPkePlugins;
pk_arr_t<PkeCallback> pkePluginCallbacks;
+pk_arr_t<CallbackSignature> sortedSignatures;
void PkePlugin_Load(const char *path) {
if (path == nullptr || path == CAFE_BABE(void)) {
@@ -64,7 +65,6 @@ 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) {
pk_arr_append(&sortedSignatures, pkePluginCallbacks[sortedSignatures.next].name);
@@ -74,3 +74,8 @@ CallbackSignature *PkePlugin_GetSortedSignatures(long &count) {
count = sortedSignatures.next;
return &sortedSignatures[0];
}
+void PkePlugin_Teardown() {
+ pk_arr_reset(&sortedSignatures);
+ pk_arr_reset(&pkePluginCallbacks);
+ pk_arr_reset(&LoadedPkePlugins);
+}