Module: wine Branch: master Commit: d5c6f6ec2571a2bfec736758c6f55b03fbdcd5ff URL: http://source.winehq.org/git/wine.git/?a=commit;h=d5c6f6ec2571a2bfec736758c6...
Author: Jacek Caban jacek@codeweavers.com Date: Wed Dec 6 18:18:23 2006 +0100
urlmon: Added application/x-zip-compressed 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 d759961..8f640f9 100644 --- a/dlls/urlmon/tests/misc.c +++ b/dlls/urlmon/tests/misc.c @@ -339,6 +339,8 @@ static const WCHAR mimeImageXPng[] = {'i static const WCHAR mimeImageTiff[] = {'i','m','a','g','e','/','t','i','f','f',0}; static const WCHAR mimeVideoAvi[] = {'v','i','d','e','o','/','a','v','i',0}; static const WCHAR mimeVideoMpeg[] = {'v','i','d','e','o','/','m','p','e','g',0}; +static const WCHAR mimeAppXZip[] = {'a','p','p','l','i','c','a','t','i','o','n','/', + 'x','-','z','i','p','-','c','o','m','p','r','e','s','s','e','d',0}; static const WCHAR mimeAppXGzip[] = {'a','p','p','l','i','c','a','t','i','o','n','/', 'x','-','g','z','i','p','-','c','o','m','p','r','e','s','s','e','d',0};
@@ -413,6 +415,9 @@ static BYTE data55[] = {0x1f,0x8b,'x'}; static BYTE data56[] = {0x1f}; static BYTE data57[] = {0x1f,0x8b,'<','h','t','m','l','>','t','e','s','t',0}; static BYTE data58[] = {0x1f,0x8b}; +static BYTE data59[] = {0x50,0x4b,'x'}; +static BYTE data60[] = {0x50,0x4b}; +static BYTE data61[] = {0x50,0x4b,'<','h','t','m','l','>',0};
static const struct { BYTE *data; @@ -476,7 +481,10 @@ static const struct { {data55, sizeof(data55), mimeAppXGzip}, {data56, sizeof(data56), mimeTextPlain}, {data57, sizeof(data57), mimeTextHtml}, - {data58, sizeof(data58), mimeAppOctetStream} + {data58, sizeof(data58), mimeAppOctetStream}, + {data59, sizeof(data59), mimeAppXZip}, + {data60, sizeof(data60), mimeTextPlain}, + {data61, sizeof(data61), mimeTextHtml} };
static void test_FindMimeFromData(void) diff --git a/dlls/urlmon/urlmon_main.c b/dlls/urlmon/urlmon_main.c index fca5150..57e1e0f 100644 --- a/dlls/urlmon/urlmon_main.c +++ b/dlls/urlmon/urlmon_main.c @@ -469,6 +469,11 @@ static BOOL video_mpeg_filter(const BYTE && (b[3] == 0xb3 || b[3] == 0xba); }
+static BOOL application_xzip_filter(const BYTE const *b, DWORD size) +{ + return size > 2 && b[0] == 0x50 && b[1] == 0x4b; +} + static BOOL application_xgzip_filter(const BYTE const *b, DWORD size) { return size > 2 && b[0] == 0x1f && b[1] == 0x8b; @@ -534,6 +539,8 @@ HRESULT WINAPI FindMimeFromData(LPBC pBC static const WCHAR wszImageBmp[] = {'i','m','a','g','e','/','b','m','p',0}; static const WCHAR wszVideoAvi[] = {'v','i','d','e','o','/','a','v','i',0}; static const WCHAR wszVideoMpeg[] = {'v','i','d','e','o','/','m','p','e','g',0}; + static const WCHAR wszAppXZip[] = {'a','p','p','l','i','c','a','t','i','o','n','/', + 'x','-','z','i','p','-','c','o','m','p','r','e','s','s','e','d',0}; static const WCHAR wszAppXGzip[] = {'a','p','p','l','i','c','a','t','i','o','n','/', 'x','-','g','z','i','p','-','c','o','m','p','r','e','s','s','e','d',0}; static const WCHAR wszTextPlain[] = {'t','e','x','t','/','p','l','a','i','n','\0'}; @@ -552,6 +559,7 @@ HRESULT WINAPI FindMimeFromData(LPBC pBC {wszImageBmp, image_bmp_filter}, {wszVideoAvi, video_avi_filter}, {wszVideoMpeg, video_mpeg_filter}, + {wszAppXZip, application_xzip_filter}, {wszAppXGzip, application_xgzip_filter}, {wszTextPlain, text_plain_filter}, {wszAppOctetStream, application_octet_stream_filter}