From 21a4a3349bdcae6b211832bdbb991b867ebf6d6f Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Wed, 28 Aug 2013 22:35:53 +0200 Subject: [PATCH] fix http://community.sharpdevelop.net/forums/t/19403.aspx - MIME Type detection throws COM Exception on 2-byte (non-Unicode) files --- src/Main/Base/Project/Src/Services/MimeTypeDetection.cs | 1 + src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj | 3 +++ src/Main/Base/Test/MimeDetectionTests.cs | 1 + src/Main/Base/Test/mime_bug1.txt | 1 + 4 files changed, 6 insertions(+) create mode 100644 src/Main/Base/Test/mime_bug1.txt diff --git a/src/Main/Base/Project/Src/Services/MimeTypeDetection.cs b/src/Main/Base/Project/Src/Services/MimeTypeDetection.cs index e5a8684b3d..37e4a49da0 100644 --- a/src/Main/Base/Project/Src/Services/MimeTypeDetection.cs +++ b/src/Main/Base/Project/Src/Services/MimeTypeDetection.cs @@ -53,6 +53,7 @@ namespace ICSharpCode.SharpDevelop reader = new StreamReader(stream, Encoding.UTF8); break; } else { + stream.Position = 0; byte[] buffer = new byte[BUFFER_SIZE]; int length = stream.Read(buffer, 0, BUFFER_SIZE); return FindMimeType(buffer, 0, length); diff --git a/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj b/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj index 18bdd2d84d..7d59390954 100644 --- a/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj +++ b/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj @@ -204,5 +204,8 @@ + + + \ No newline at end of file diff --git a/src/Main/Base/Test/MimeDetectionTests.cs b/src/Main/Base/Test/MimeDetectionTests.cs index 12f612642d..afaf84889e 100644 --- a/src/Main/Base/Test/MimeDetectionTests.cs +++ b/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_le_test.txt"), "text/plain"); + TestMime(LoadFile("ICSharpCode.SharpDevelop.Tests.mime_bug1.txt"), "text/plain"); } byte[] LoadFile(string resourceName) diff --git a/src/Main/Base/Test/mime_bug1.txt b/src/Main/Base/Test/mime_bug1.txt new file mode 100644 index 0000000000..2887279105 --- /dev/null +++ b/src/Main/Base/Test/mime_bug1.txt @@ -0,0 +1 @@ +1° \ No newline at end of file