Jacek Caban : urlmon: Added application/x-msdownload mime filter.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Dec 13 10:03:49 CST 2006


Module: wine
Branch: master
Commit: 35e0e994ce6b50da15cbfb4ca1125bb5229fe7fc
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=35e0e994ce6b50da15cbfb4ca1125bb5229fe7fc

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Tue Dec 12 21:53:48 2006 +0100

urlmon: Added application/x-msdownload mime filter.

---

 dlls/urlmon/tests/misc.c  |   10 +++++++++-
 dlls/urlmon/urlmon_main.c |    8 ++++++++
 2 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/dlls/urlmon/tests/misc.c b/dlls/urlmon/tests/misc.c
index 6c13a3d..5a0b081 100644
--- a/dlls/urlmon/tests/misc.c
+++ b/dlls/urlmon/tests/misc.c
@@ -347,6 +347,8 @@ static const WCHAR mimeAppXGzip[] = {'a'
                                     'x','-','g','z','i','p','-','c','o','m','p','r','e','s','s','e','d',0};
 static const WCHAR mimeAppJava[] = {'a','p','p','l','i','c','a','t','i','o','n','/','j','a','v','a',0};
 static const WCHAR mimeAppPdf[] = {'a','p','p','l','i','c','a','t','i','o','n','/','p','d','f',0};
+static const WCHAR mimeAppXMSDownload[] =
+    {'a','p','p','l','i','c','a','t','i','o','n','/','x','-','m','s','d','o','w','n','l','o','a','d',0};
 
 static const struct {
     LPCWSTR url;
@@ -428,6 +430,9 @@ static BYTE data64[] = {0xca,0xfe,0xba,0
 static BYTE data65[] = {0x25,0x50,0x44,0x46,'x'};
 static BYTE data66[] = {0x25,0x50,0x44,0x46};
 static BYTE data67[] = {0x25,0x50,0x44,0x46,'x','<','h','t','m','l','>'};
+static BYTE data68[] = {'M','Z','x'};
+static BYTE data69[] = {'M','Z'};
+static BYTE data70[] = {'M','Z','<','h','t','m','l','>',0xff};
 
 static const struct {
     BYTE *data;
@@ -500,7 +505,10 @@ static const struct {
     {data64, sizeof(data64), mimeTextHtml},
     {data65, sizeof(data65), mimeAppPdf},
     {data66, sizeof(data66), mimeTextPlain},
-    {data67, sizeof(data67), mimeTextHtml}
+    {data67, sizeof(data67), mimeTextHtml},
+    {data68, sizeof(data68), mimeAppXMSDownload},
+    {data69, sizeof(data69), mimeTextPlain},
+    {data70, sizeof(data70), mimeTextHtml}
 };
 
 static void test_FindMimeFromData(void)
diff --git a/dlls/urlmon/urlmon_main.c b/dlls/urlmon/urlmon_main.c
index a352f30..8196f23 100644
--- a/dlls/urlmon/urlmon_main.c
+++ b/dlls/urlmon/urlmon_main.c
@@ -489,6 +489,11 @@ static BOOL application_java_filter(cons
     return size > 4 && b[0] == 0xca && b[1] == 0xfe && b[2] == 0xba && b[3] == 0xbe;
 }
 
+static BOOL application_xmsdownload(const BYTE const *b, DWORD size)
+{
+    return size > 2 && b[0] == 'M' && b[1] == 'Z';
+}
+
 static BOOL text_plain_filter(const BYTE const *b, DWORD size)
 {
     const BYTE *ptr;
@@ -557,6 +562,8 @@ HRESULT WINAPI FindMimeFromData(LPBC pBC
             'x','-','g','z','i','p','-','c','o','m','p','r','e','s','s','e','d',0};
         static const WCHAR wszAppJava[] = {'a','p','p','l','i','c','a','t','i','o','n','/',
             'j','a','v','a',0};
+        static const WCHAR wszAppXMSDownload[] = {'a','p','p','l','i','c','a','t','i','o','n','/',
+            'x','-','m','s','d','o','w','n','l','o','a','d',0};
         static const WCHAR wszTextPlain[] = {'t','e','x','t','/','p','l','a','i','n','\0'};
         static const WCHAR wszAppOctetStream[] = {'a','p','p','l','i','c','a','t','i','o','n','/',
             'o','c','t','e','t','-','s','t','r','e','a','m','\0'};
@@ -577,6 +584,7 @@ HRESULT WINAPI FindMimeFromData(LPBC pBC
             {wszAppXZip,        application_xzip_filter},
             {wszAppXGzip,       application_xgzip_filter},
             {wszAppJava,        application_java_filter},
+            {wszAppXMSDownload, application_xmsdownload},
             {wszTextPlain,      text_plain_filter},
             {wszAppOctetStream, application_octet_stream_filter}
         };




More information about the wine-cvs mailing list