]> git.stg.codes - stg.git/blobdiff - projects/stargazer/store_loader.cpp
Fix build on FreeBSD.
[stg.git] / projects / stargazer / store_loader.cpp
index dbb6d36edc8ddd0a0153e17c332813635a9567f8..1529a2ccd7c5fb744bff2de7e95fead20a75aafd 100644 (file)
@@ -30,9 +30,9 @@
 
 #include <dlfcn.h>
 
+#include "stg/common.h"
+#include "stg/store.h"
 #include "store_loader.h"
-#include "common.h"
-#include "store.h"
 #include "settings_impl.h"
 
 STORE_LOADER::STORE_LOADER(const SETTINGS_IMPL & settings)
@@ -54,7 +54,7 @@ bool STORE_LOADER::Load()
 {
 if (isLoaded)
     {
-    errorStr = "Store plugin '" + pluginFileName + "' was alredy loaded!";
+    errorStr = "Store plugin '" + pluginFileName + "' was already loaded!";
     printfd(__FILE__, "STORE_LOADER::Load() - %s\n", errorStr.c_str());
     return false;
     }
@@ -79,7 +79,7 @@ if (!handle)
 isLoaded = true;
 
 STORE * (*GetStore)();
-GetStore = (STORE * (*)())dlsym(handle, "GetStore");
+GetStore = reinterpret_cast<STORE * (*)()>(dlsym(handle, "GetStore"));
 if (!GetStore)
     {
     errorStr = std::string("GetStore() not found! ") + dlerror();
@@ -115,6 +115,8 @@ if (!isLoaded)
     return true;
     }
 
+delete plugin;
+
 if (dlclose(handle))
     {
     errorStr = "Failed to unload plugin '";