From aae5f87d132d6f16a285cb045fb745147951a4f7 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Wed, 28 Mar 2018 11:34:52 +0100 Subject: [PATCH] Fixed osgDB::findFileInDirectory() handling of directory strings with trailing \ or / that was causing failure to find valid files in otherwise valid directories --- src/osgDB/FileUtils.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/osgDB/FileUtils.cpp b/src/osgDB/FileUtils.cpp index b6cb5b50a..f76ec4f80 100644 --- a/src/osgDB/FileUtils.cpp +++ b/src/osgDB/FileUtils.cpp @@ -422,7 +422,19 @@ std::string osgDB::findFileInDirectory(const std::string& fileName,const std::st realFileName = getSimpleFileName(fileName); } - OSG_DEBUG << "findFileInDirectory() : looking for " << realFileName << " in " << realDirName << "...\n"; + + if (realDirName.size()>2) + { + char lastCharacter = realDirName[realDirName.size()-1]; + bool trimLastCharacter = lastCharacter=='/' || lastCharacter=='\\'; + if (trimLastCharacter) + { + realDirName.erase(realDirName.size()-1, 1); + OSG_DEBUG << "findFileInDirectory() Trimming last character of filepath, now realDirName="<