Browse Source

fix http://community.sharpdevelop.net/forums/t/19403.aspx - MIME Type detection throws COM Exception on 2-byte (non-Unicode) files

pull/68/merge
Siegfried Pammer 13 years ago
parent
commit
21a4a3349b
  1. 1
      src/Main/Base/Project/Src/Services/MimeTypeDetection.cs
  2. 3
      src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj
  3. 1
      src/Main/Base/Test/MimeDetectionTests.cs
  4. 1
      src/Main/Base/Test/mime_bug1.txt

1
src/Main/Base/Project/Src/Services/MimeTypeDetection.cs

@ -53,6 +53,7 @@ namespace ICSharpCode.SharpDevelop
reader = new StreamReader(stream, Encoding.UTF8); reader = new StreamReader(stream, Encoding.UTF8);
break; break;
} else { } else {
stream.Position = 0;
byte[] buffer = new byte[BUFFER_SIZE]; byte[] buffer = new byte[BUFFER_SIZE];
int length = stream.Read(buffer, 0, BUFFER_SIZE); int length = stream.Read(buffer, 0, BUFFER_SIZE);
return FindMimeType(buffer, 0, length); return FindMimeType(buffer, 0, length);

3
src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj

@ -204,5 +204,8 @@
<EmbeddedResource Include="mime_utf-16_be_test.txt" /> <EmbeddedResource Include="mime_utf-16_be_test.txt" />
<EmbeddedResource Include="mime_utf-16_le_test.txt" /> <EmbeddedResource Include="mime_utf-16_le_test.txt" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<EmbeddedResource Include="mime_bug1.txt" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" /> <Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
</Project> </Project>

1
src/Main/Base/Test/MimeDetectionTests.cs

@ -54,6 +54,7 @@ namespace ICSharpCode.SharpDevelop.Tests
{ {
TestMime(LoadFile("ICSharpCode.SharpDevelop.Tests.mime_utf-16_be_test.txt"), "text/plain"); TestMime(LoadFile("ICSharpCode.SharpDevelop.Tests.mime_utf-16_be_test.txt"), "text/plain");
TestMime(LoadFile("ICSharpCode.SharpDevelop.Tests.mime_utf-16_le_test.txt"), "text/plain"); TestMime(LoadFile("ICSharpCode.SharpDevelop.Tests.mime_utf-16_le_test.txt"), "text/plain");
TestMime(LoadFile("ICSharpCode.SharpDevelop.Tests.mime_bug1.txt"), "text/plain");
} }
byte[] LoadFile(string resourceName) byte[] LoadFile(string resourceName)

1
src/Main/Base/Test/mime_bug1.txt

@ -0,0 +1 @@
1<EFBFBD>
Loading…
Cancel
Save