bool OSDir::getNextFile(OSFile &oFile, const char* fileMask, bool bRecursive) { #ifdef _WIN32 std::string realMask = "*.*"; //FIXME -- could this also be just '*' ? #else std::string realMask = "*"; #endif if (fileMask) realMask = fileMask; realMask = TextUtils::toupper(realMask); std::string theFileExt; if (info->namePos == -1) { info->nameList.clear(); //FIXME -- just do the #ifdef'ing here? windowsAddFileStack(getFullOSPath(), realMask, bRecursive); linuxAddFileStack(getFullOSPath(), realMask, bRecursive); info->namePos = 0; } int size = info->nameList.size(); if (info->namePos >= size) { info->namePos = -1; return false; } std::string fileName = info->nameList[info->namePos]; if (osBaseDir.size()>1) { std::string temp = &(fileName.c_str()[osBaseDir.size()]); fileName = temp; } oFile.osName(fileName); info->namePos++; return true; }