Skip to content
This repository was archived by the owner on Oct 16, 2020. It is now read-only.

Commit 21a4a33

Browse files
fix http://community.sharpdevelop.net/forums/t/19403.aspx - MIME Type detection throws COM Exception on 2-byte (non-Unicode) files
1 parent 463ee02 commit 21a4a33

4 files changed

Lines changed: 6 additions & 0 deletions

File tree

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ public static string FindMimeType(Stream stream)
5353
reader = new StreamReader(stream, Encoding.UTF8);
5454
break;
5555
} else {
56+
stream.Position = 0;
5657
byte[] buffer = new byte[BUFFER_SIZE];
5758
int length = stream.Read(buffer, 0, BUFFER_SIZE);
5859
return FindMimeType(buffer, 0, length);

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,5 +204,8 @@
204204
<EmbeddedResource Include="mime_utf-16_be_test.txt" />
205205
<EmbeddedResource Include="mime_utf-16_le_test.txt" />
206206
</ItemGroup>
207+
<ItemGroup>
208+
<EmbeddedResource Include="mime_bug1.txt" />
209+
</ItemGroup>
207210
<Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
208211
</Project>

src/Main/Base/Test/MimeDetectionTests.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ public void TestFiles()
5454
{
5555
TestMime(LoadFile("ICSharpCode.SharpDevelop.Tests.mime_utf-16_be_test.txt"), "text/plain");
5656
TestMime(LoadFile("ICSharpCode.SharpDevelop.Tests.mime_utf-16_le_test.txt"), "text/plain");
57+
TestMime(LoadFile("ICSharpCode.SharpDevelop.Tests.mime_bug1.txt"), "text/plain");
5758
}
5859

5960
byte[] LoadFile(string resourceName)

src/Main/Base/Test/mime_bug1.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
1�

0 commit comments

Comments
 (0)