From 415b4749e874e2337833e61320e99b42ffc4f9de Mon Sep 17 00:00:00 2001 From: Ben Maurer Date: Tue, 7 Dec 2004 03:17:14 +0000 Subject: [PATCH] 2004-12-06 Ben Maurer * ResourceManager.cs (InternalResourceManager): on msft, they search for a case-insenstitive match too here. svn path=/trunk/mcs/; revision=37277 --- mcs/class/corlib/System.Resources/ChangeLog | 5 +++++ mcs/class/corlib/System.Resources/ResourceManager.cs | 14 ++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/mcs/class/corlib/System.Resources/ChangeLog b/mcs/class/corlib/System.Resources/ChangeLog index 026abec4dcc..72a41d9e255 100644 --- a/mcs/class/corlib/System.Resources/ChangeLog +++ b/mcs/class/corlib/System.Resources/ChangeLog @@ -1,3 +1,8 @@ +2004-12-06 Ben Maurer + + * ResourceManager.cs (InternalResourceManager): on msft, they + search for a case-insenstitive match too here. + 2004-05-02 Sebastien Pouliot * ResourceManager.cs: Avoid endless recursion when a resource file diff --git a/mcs/class/corlib/System.Resources/ResourceManager.cs b/mcs/class/corlib/System.Resources/ResourceManager.cs index a8367b7c184..cde480a069c 100644 --- a/mcs/class/corlib/System.Resources/ResourceManager.cs +++ b/mcs/class/corlib/System.Resources/ResourceManager.cs @@ -269,6 +269,14 @@ namespace System.Resources } } + static Stream GetManifestResourceStreamNoCase (Assembly ass, string fn) + { + foreach (string s in ass.GetManifestResourceNames ()) + if (String.Compare (fn, s, true, CultureInfo.InvariantCulture) == 0) + return ass.GetManifestResourceStream (s); + return null; + } + protected virtual ResourceSet InternalGetResourceSet (CultureInfo culture, bool Createifnotexists, bool tryParents) { ResourceSet set; @@ -292,6 +300,9 @@ namespace System.Resources string filename=GetResourceFileName(culture); stream=MainAssembly.GetManifestResourceStream(filename); + if (stream == null) + stream = GetManifestResourceStreamNoCase (MainAssembly, filename); + if(stream==null) { /* Try a satellite assembly */ Version sat_version=GetSatelliteContractVersion(MainAssembly); @@ -299,6 +310,9 @@ namespace System.Resources try { a = MainAssembly.GetSatelliteAssembly (culture, sat_version); stream=a.GetManifestResourceStream(filename); + if (stream == null) + stream = GetManifestResourceStreamNoCase (a, filename); + } catch (Exception) {} // Ignored } -- 2.11.4.GIT