From 6e095c4e60545b5097fd5242ef535fefaf062dea Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Thu, 6 Dec 2007 16:50:43 +0000 Subject: [PATCH] From Wojiech Leandowski, fixed the hardwiring of archive extensions to 4 charaters --- src/osgDB/Registry.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/osgDB/Registry.cpp b/src/osgDB/Registry.cpp index 162b75207..c81f8b72a 100644 --- a/src/osgDB/Registry.cpp +++ b/src/osgDB/Registry.cpp @@ -1331,14 +1331,15 @@ ReaderWriter::ReadResult Registry::read(const ReadFunctor& readFunctor) aitr!=_archiveExtList.end(); ++aitr) { - std::string archiveName = "." + (*aitr); + std::string archiveExtension = "." + (*aitr); - std::string::size_type positionArchive = readFunctor._filename.find(archiveName+'/'); - if (positionArchive==std::string::npos) positionArchive = readFunctor._filename.find(archiveName+'\\'); + std::string::size_type positionArchive = readFunctor._filename.find(archiveExtension+'/'); + if (positionArchive==std::string::npos) positionArchive = readFunctor._filename.find(archiveExtension+'\\'); if (positionArchive!=std::string::npos) { - std::string archiveName(readFunctor._filename.substr(0,positionArchive+5)); - std::string fileName(readFunctor._filename.substr(positionArchive+6,std::string::npos)); + std::string::size_type endArchive = positionArchive + archiveExtension.length(); + std::string archiveName( readFunctor._filename.substr(0,endArchive)); + std::string fileName(readFunctor._filename.substr(endArchive+1,std::string::npos)); osg::notify(osg::INFO)<<"Contains archive : "<