diff --git a/code/CMakeModules/FindCustomMFC.cmake b/code/CMakeModules/FindCustomMFC.cmake index 7865d0828..b71e4a8d8 100644 --- a/code/CMakeModules/FindCustomMFC.cmake +++ b/code/CMakeModules/FindCustomMFC.cmake @@ -41,7 +41,7 @@ IF(MFC_FOUND) LINK_DIRECTORIES(${MFC_LIBRARY_DIR}) # Set definitions for using MFC in DLL - SET(MFC_DEFINITIONS -D_AFXDLL) + SET(MFC_DEFINITIONS -D_AFXDLL -DUNICODE -D_UNICODE) # Set CMake flag to use MFC DLL SET(CMAKE_MFC_FLAG 2) diff --git a/code/nel/src/ligo/zone_bank.cpp b/code/nel/src/ligo/zone_bank.cpp index a72d1a98f..095410582 100644 --- a/code/nel/src/ligo/zone_bank.cpp +++ b/code/nel/src/ligo/zone_bank.cpp @@ -493,32 +493,25 @@ void CZoneBank::reset () _Selection.clear (); } -#ifdef NL_OS_WINDOWS // --------------------------------------------------------------------------- bool CZoneBank::initFromPath(const std::string &sPathName, std::string &error) { - char sDirBackup[512]; - GetCurrentDirectory (512, sDirBackup); - SetCurrentDirectory (sPathName.c_str()); - WIN32_FIND_DATA findData; - HANDLE hFind; - hFind = FindFirstFile ("*.ligozone", &findData); + std::vector files; + NLMISC::CPath::getPathContent(sPathName, false, false, true, files); - 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 - if (!((strcmp (findData.cFileName, ".") == 0) || (strcmp (findData.cFileName, "..") == 0))) + std::string ext = NLMISC::CFile::getExtension(files[i]); + + if (ext == "ligozone") { - if (!addElement (findData.cFileName, error)) + if (!addElement(NLMISC::CFile::getFilename(files[i]), error)) return false; } - if (FindNextFile (hFind, &findData) == 0) - break; } - SetCurrentDirectory (sDirBackup); + return true; } -#endif // NL_OS_WINDOWS // --------------------------------------------------------------------------- bool CZoneBank::addElement (const std::string &elementName, std::string &error)