Module: wine Branch: master Commit: f9545ad94fcbcf47b18a67b525eb613137cabe32 URL: http://source.winehq.org/git/wine.git/?a=commit;h=f9545ad94fcbcf47b18a67b525...
Author: Jacek Caban jacek@codeweavers.com Date: Tue Oct 23 12:53:49 2007 +0200
urlmon: Added application/postscript 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 3e55b62..9f33f73 100644 --- a/dlls/urlmon/tests/misc.c +++ b/dlls/urlmon/tests/misc.c @@ -362,6 +362,8 @@ static const WCHAR mimeImageXPng[] = {'i','m','a','g','e','/','x','-','p','n','g 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 mimeAppPostscript[] = + {'a','p','p','l','i','c','a','t','i','o','n','/','p','o','s','t','s','c','r','i','p','t',0}; static const WCHAR mimeAppXCompressed[] = {'a','p','p','l','i','c','a','t','i','o','n','/', 'x','-','c','o','m','p','r','e','s','s','e','d',0}; static const WCHAR mimeAppXZip[] = {'a','p','p','l','i','c','a','t','i','o','n','/', @@ -466,6 +468,9 @@ static BYTE data75[] = {'R','I','F','F',0xff,0xff,0xff,0xff,'W','A','V','E',0xff static BYTE data76[] = {'R','I','F','F',0xff,0xff,0xff,0xff,'W','A','V','E'}; static BYTE data77[] = {'R','I','F','F',0xff,0xff,0xff,0xff,'W','A','V',0xff,0xff}; static BYTE data78[] = {'R','I','F','F',0xff,0xff,0xff,0xff,'<','h','t','m','l','>',0xff}; +static BYTE data79[] = {'%','!',0xff}; +static BYTE data80[] = {'%','!'}; +static BYTE data81[] = {'%','!','P','S','<','h','t','m','l','>'};
static const struct { BYTE *data; @@ -549,7 +554,10 @@ static const struct { {data75, sizeof(data75), mimeAudioWav}, {data76, sizeof(data76), mimeTextPlain}, {data77, sizeof(data77), mimeTextPlain}, - {data78, sizeof(data78), mimeTextHtml} + {data78, sizeof(data78), mimeTextHtml}, + {data79, sizeof(data79), mimeAppPostscript}, + {data80, sizeof(data80), mimeTextPlain}, + {data81, sizeof(data81), mimeTextHtml} };
static void test_FindMimeFromData(void) diff --git a/dlls/urlmon/urlmon_main.c b/dlls/urlmon/urlmon_main.c index 51977ad..a8c2d5a 100644 --- a/dlls/urlmon/urlmon_main.c +++ b/dlls/urlmon/urlmon_main.c @@ -487,6 +487,11 @@ static BOOL video_mpeg_filter(const BYTE *b, DWORD size) && (b[3] == 0xb3 || b[3] == 0xba); }
+static BOOL application_postscript_filter(const BYTE *b, DWORD size) +{ + return size > 2 && b[0] == '%' && b[1] == '!'; +} + static BOOL application_pdf_filter(const BYTE *b, DWORD size) { return size > 4 && b[0] == 0x25 && b[1] == 0x50 && b[2] == 0x44 && b[3] == 0x46; @@ -579,6 +584,8 @@ HRESULT WINAPI FindMimeFromData(LPBC pBC, LPCWSTR pwzUrl, LPVOID pBuffer, 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 wszAppPostscript[] = + {'a','p','p','l','i','c','a','t','i','o','n','/','p','o','s','t','s','c','r','i','p','t',0}; static const WCHAR wszAppPdf[] = {'a','p','p','l','i','c','a','t','i','o','n','/', 'p','d','f',0}; static const WCHAR wszAppXZip[] = {'a','p','p','l','i','c','a','t','i','o','n','/', @@ -607,6 +614,7 @@ HRESULT WINAPI FindMimeFromData(LPBC pBC, LPCWSTR pwzUrl, LPVOID pBuffer, {wszImageBmp, image_bmp_filter}, {wszVideoAvi, video_avi_filter}, {wszVideoMpeg, video_mpeg_filter}, + {wszAppPostscript, application_postscript_filter}, {wszAppPdf, application_pdf_filter}, {wszAppXZip, application_xzip_filter}, {wszAppXGzip, application_xgzip_filter},