From dc58649cf25f75f32fdb3e1cc8e20b33c94280c5 Mon Sep 17 00:00:00 2001 From: Henri Herscher Date: Wed, 1 Feb 2006 19:23:21 +0000 Subject: 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 --- orkaudio/OrkAudio.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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& 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& 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); -- cgit v1.2.3