1
0

Fixed cFile:IsFolder() and plugin-loading.

This should fix loading plugins on Linux.
This commit is contained in:
madmaxoft 2013-09-21 19:45:11 +02:00
parent 6b61df3b73
commit 744b3be454
2 changed files with 4 additions and 3 deletions

View File

@ -290,7 +290,8 @@ bool cFile::Rename(const AString & a_OrigFileName, const AString & a_NewFileName
bool cFile::IsFolder(const AString & a_Path)
{
#ifdef _WIN32
return ((GetFileAttributes(a_Path.c_str()) & FILE_ATTRIBUTE_DIRECTORY) != 0);
DWORD FileAttrib = GetFileAttributes(a_Path.c_str());
return ((FileAttrib != INVALID_FILE_ATTRIBUTES) && ((FileAttrib & FILE_ATTRIBUTE_DIRECTORY) != 0));
#else
struct stat st;
return ((stat(a_Path.c_str(), &st) == 0) && S_ISDIR(st.st_mode));

View File

@ -75,7 +75,7 @@ void cPluginManager::FindPlugins(void)
AStringList Files = GetDirectoryContents(PluginsPath.c_str());
for (AStringList::const_iterator itr = Files.begin(); itr != Files.end(); ++itr)
{
if (!cFile::IsFolder(*itr))
if (!cFile::IsFolder(PluginsPath + *itr))
{
// We only want folders
continue;
@ -84,7 +84,7 @@ void cPluginManager::FindPlugins(void)
// Add plugin name/directory to the list
if (m_Plugins.find(*itr) == m_Plugins.end())
{
m_Plugins[ *itr ] = NULL;
m_Plugins[*itr] = NULL;
}
}
}