CPlugins: align with original neutrino code, small optimization

This commit is contained in:
Stefan Seyfried
2012-03-25 17:52:34 +02:00
parent 27c6be9c84
commit 201bb3524d

View File

@@ -108,11 +108,14 @@ void CPlugins::scanDir(const char *dir)
int number_of_files = scandir(dir, &namelist, 0, alphasort); int number_of_files = scandir(dir, &namelist, 0, alphasort);
if (number_of_files < 0)
return;
for (int i = 0; i < number_of_files; i++) for (int i = 0; i < number_of_files; i++)
{ {
std::string filename; std::string filename(namelist[i]->d_name);
free(namelist[i]);
filename = namelist[i]->d_name;
int pos = filename.find(".cfg"); int pos = filename.find(".cfg");
if (pos > -1) if (pos > -1)
{ {
@@ -122,9 +125,9 @@ void CPlugins::scanDir(const char *dir)
fname += '/'; fname += '/';
new_plugin.cfgfile = fname.append(new_plugin.filename); new_plugin.cfgfile = fname.append(new_plugin.filename);
new_plugin.cfgfile.append(".cfg"); new_plugin.cfgfile.append(".cfg");
parseCfg(&new_plugin);
bool plugin_ok = parseCfg(&new_plugin); bool plugin_ok = parseCfg(&new_plugin);
if (plugin_ok) { if (plugin_ok)
{
new_plugin.pluginfile = fname; new_plugin.pluginfile = fname;
if (new_plugin.type == CPlugins::P_TYPE_SCRIPT) if (new_plugin.type == CPlugins::P_TYPE_SCRIPT)
{ {
@@ -148,6 +151,7 @@ void CPlugins::scanDir(const char *dir)
} }
} }
} }
free(namelist);
} }
void CPlugins::loadPlugins() void CPlugins::loadPlugins()