Fixed: Replace Win32 code by multiplatform one using NeL classes

--HG--
branch : develop
This commit is contained in:
kervala 2016-12-07 14:22:50 +01:00
parent 28042f6b21
commit 8e15feaa13

View file

@ -493,32 +493,25 @@ void CZoneBank::reset ()
_Selection.clear (); _Selection.clear ();
} }
#ifdef NL_OS_WINDOWS
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
bool CZoneBank::initFromPath(const std::string &sPathName, std::string &error) bool CZoneBank::initFromPath(const std::string &sPathName, std::string &error)
{ {
char sDirBackup[512]; std::vector<std::string> files;
GetCurrentDirectory (512, sDirBackup); NLMISC::CPath::getPathContent(sPathName, false, false, true, files);
SetCurrentDirectory (sPathName.c_str());
WIN32_FIND_DATA findData;
HANDLE hFind;
hFind = FindFirstFile ("*.ligozone", &findData);
while (hFind != INVALID_HANDLE_VALUE) for (uint i = 0, len = files.size(); i < len; ++i)
{ {
// If the name of the file is not . or .. then its a valid entry in the DataBase std::string ext = NLMISC::CFile::getExtension(files[i]);
if (!((strcmp (findData.cFileName, ".") == 0) || (strcmp (findData.cFileName, "..") == 0)))
if (ext == "ligozone")
{ {
if (!addElement (findData.cFileName, error)) if (!addElement(NLMISC::CFile::getFilename(files[i]), error))
return false; return false;
} }
if (FindNextFile (hFind, &findData) == 0)
break;
} }
SetCurrentDirectory (sDirBackup);
return true; return true;
} }
#endif // NL_OS_WINDOWS
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
bool CZoneBank::addElement (const std::string &elementName, std::string &error) bool CZoneBank::addElement (const std::string &elementName, std::string &error)