diff options
author | Henri Herscher <henri@oreka.org> | 2006-02-01 19:23:21 +0000 |
---|---|---|
committer | Henri Herscher <henri@oreka.org> | 2006-02-01 19:23:21 +0000 |
commit | dc58649cf25f75f32fdb3e1cc8e20b33c94280c5 (patch) | |
tree | 559cf824fd0a01e0ec42cbdc6f67f950daf374c5 /orkaudio | |
parent | a1da167e81f54d1f5a5cb9323df5b8eac912b591 (diff) |
Plugin loading now makes sure that file extensions are correct (.dll and .so)
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@153 09dcff7a-b715-0410-9601-b79a96267cd0
Diffstat (limited to 'orkaudio')
-rw-r--r-- | orkaudio/OrkAudio.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/orkaudio/OrkAudio.cpp b/orkaudio/OrkAudio.cpp index 83bd2ec..5e7cad3 100644 --- a/orkaudio/OrkAudio.cpp +++ b/orkaudio/OrkAudio.cpp @@ -58,8 +58,10 @@ void LoadPlugins(std::list<ACE_DLL>& pluginDlls) { #ifdef WIN32 CStdString pluginDirectory = "./plugins/"; + CStdString pluginExtension = ".dll"; #else CStdString pluginDirectory = "/usr/lib/orkaudio/plugins/"; + CStdString pluginExtension = ".so"; #endif CStdString pluginPath; ACE_DLL dll; @@ -74,7 +76,10 @@ void LoadPlugins(std::list<ACE_DLL>& pluginDlls) dirent* dirEntry = NULL; while(dirEntry = ACE_OS::readdir(dir)) { - if (ACE_OS::strstr(dirEntry->d_name, ".dll")) + CStdString dirEntryFilename = dirEntry->d_name; + int extensionPos = dirEntryFilename.Find(pluginExtension); + + if ( extensionPos != -1 && (dirEntryFilename.size() - extensionPos) == pluginExtension.size() ) { pluginPath = pluginDirectory + dirEntry->d_name; dll.open((PCSTR)pluginPath); |