partially fixes a possible hash-collision bug in FileSystem

This commit is contained in:
Bob
2010-01-22 16:49:49 +13:00
parent 18a4da6bc0
commit bdb4fb190a

View File

@@ -81,10 +81,13 @@ namespace OpenRa.FileFormats
public static Stream Open(string filename)
{
var ret = GetFromCache( allFiles, filename )
?? GetFromCache( allTemporaryFiles, filename );
if( ret != null )
return ret;
if( filename.IndexOfAny( new char[] { '/', '\\' } ) == -1 )
{
var ret = GetFromCache( allFiles, filename )
?? GetFromCache( allTemporaryFiles, filename );
if( ret != null )
return ret;
}
foreach( IFolder folder in mountedFolders )
{
@@ -98,12 +101,15 @@ namespace OpenRa.FileFormats
public static Stream OpenWithExts( string filename, params string[] exts )
{
foreach( var ext in exts )
if( filename.IndexOfAny( new char[] { '/', '\\' } ) == -1 )
{
var s = GetFromCache( allFiles, filename + ext )
?? GetFromCache( allTemporaryFiles, filename + ext );
if( s != null )
return s;
foreach( var ext in exts )
{
var s = GetFromCache( allFiles, filename + ext )
?? GetFromCache( allTemporaryFiles, filename + ext );
if( s != null )
return s;
}
}
foreach( var ext in exts )