# HG changeset patch # User truebrain # Date 2009-01-16 14:56:33 # Node ID 904e49cf2a6f1d22b21d02a5202970d1faa47c33 # Parent 95163043f047a525052df9cabf9fd38f7a7e1be5 (svn r15108) -Fix: TarAddLink didn't lowercase strings, breaking tar-loading when using uppercase files diff --git a/src/fileio.cpp b/src/fileio.cpp --- a/src/fileio.cpp +++ b/src/fileio.cpp @@ -475,8 +475,14 @@ const char *FioTarFirstDir(const char *t return (*it).second.dirname; } -static void TarAddLink(const std::string &src, const std::string &dest) +static void TarAddLink(const std::string &srcParam, const std::string &destParam) { + std::string src = srcParam; + std::string dest = destParam; + /* Tar internals assume lowercase */ + std::transform(src.begin(), src.end(), src.begin(), tolower); + std::transform(dest.begin(), dest.end(), dest.begin(), tolower); + TarFileList::iterator dest_file = _tar_filelist.find(dest); if (dest_file != _tar_filelist.end()) { /* Link to file. Process the link like the destination file. */