diff options
author | Gluzskiy Alexandr <sss123next@list.ru> | 2010-10-30 03:59:10 +0300 |
---|---|---|
committer | Gluzskiy Alexandr <sss123next@list.ru> | 2010-10-30 03:59:10 +0300 |
commit | 516c2cec67ca327e443f8bd7e75d92ca32fc69ec (patch) | |
tree | 40b6645c2b9c019e89b49d721112ca4d7ea77be0 | |
parent | 7abf016291b68e30139e0b8349d83333c39bcf88 (diff) |
bgg
-rw-r--r-- | core/modules.cpp | 6 | ||||
-rw-r--r-- | core/modules.h | 9 |
2 files changed, 11 insertions, 4 deletions
diff --git a/core/modules.cpp b/core/modules.cpp index 8df3288..6518825 100644 --- a/core/modules.cpp +++ b/core/modules.cpp @@ -20,16 +20,16 @@ void load_modules() ++i; continue; } - if(!boost::filesystem::status_known((*i).status())) + if(!boost::filesystem::status_known((*i).status())) //worng data { ++i; continue; } bool is_plugin = true; plugin::exported_functions_s *funcs = new plugin::exported_functions_s; - memset(&funcs,0,sizeof(plugin::exported_functions_s)); ACE_DLL *dll = new ACE_DLL; - if(dll->open((*i).path().string().c_str()) != -1) + boost::filesystem::path pth = i->path(); + if(dll->open(pth.string().c_str()) != -1) { if((funcs->Load = (load)dll->symbol("load")) == NULL) is_plugin = false; diff --git a/core/modules.h b/core/modules.h index 5ba7a11..2e843a4 100644 --- a/core/modules.h +++ b/core/modules.h @@ -14,7 +14,14 @@ public: load Load; on_modules_loaded OnModulesLoaded; unload Unload; - set_plugin_info SetPluginInfo; + set_plugin_info SetPluginInfo;
+ exported_functions_s()
+ {
+ Load =NULL;
+ OnModulesLoaded = NULL;
+ Unload = NULL;
+ SetPluginInfo = NULL;
+ }
}; ACE_DLL *get_plugin(); void set_plugin(); |