Jacek Caban : urlmon: Added application/pdf mime filter.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Dec 7 07:07:56 CST 2006


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Wed Dec  6 18:20:03 2006 +0100

urlmon: Added application/pdf mime filter.

---

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

diff --git a/dlls/urlmon/tests/misc.c b/dlls/urlmon/tests/misc.c
index cbf8db0..6c13a3d 100644
--- a/dlls/urlmon/tests/misc.c
+++ b/dlls/urlmon/tests/misc.c
@@ -346,6 +346,7 @@ static const WCHAR mimeAppXZip[] = {'a',
 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};
 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 struct {
     LPCWSTR url;
@@ -424,6 +425,9 @@ static BYTE data61[] = {0x50,0x4b,'<','h
 static BYTE data62[] = {0xca,0xfe,0xba,0xbe,'x'};
 static BYTE data63[] = {0xca,0xfe,0xba,0xbe};
 static BYTE data64[] = {0xca,0xfe,0xba,0xbe,'<','h','t','m','l','>',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 const struct {
     BYTE *data;
@@ -493,7 +497,10 @@ static const struct {
     {data61, sizeof(data61), mimeTextHtml},
     {data62, sizeof(data62), mimeAppJava},
     {data63, sizeof(data63), mimeTextPlain},
-    {data64, sizeof(data64), mimeTextHtml}
+    {data64, sizeof(data64), mimeTextHtml},
+    {data65, sizeof(data65), mimeAppPdf},
+    {data66, sizeof(data66), mimeTextPlain},
+    {data67, sizeof(data67), mimeTextHtml}
 };
 
 static void test_FindMimeFromData(void)
diff --git a/dlls/urlmon/urlmon_main.c b/dlls/urlmon/urlmon_main.c
index ce80ba6..a352f30 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_pdf_filter(const BYTE const *b, DWORD size)
+{
+    return size > 4 && b[0] == 0x25 && b[1] == 0x50 && b[2] == 0x44 && b[3] == 0x46;
+}
+
 static BOOL application_xzip_filter(const BYTE const *b, DWORD size)
 {
     return size > 2 && b[0] == 0x50 && b[1] == 0x4b;
@@ -544,6 +549,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 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','/',
             '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','/',
@@ -566,6 +573,7 @@ HRESULT WINAPI FindMimeFromData(LPBC pBC
             {wszImageBmp,       image_bmp_filter},
             {wszVideoAvi,       video_avi_filter},
             {wszVideoMpeg,      video_mpeg_filter},
+            {wszAppPdf,         application_pdf_filter},
             {wszAppXZip,        application_xzip_filter},
             {wszAppXGzip,       application_xgzip_filter},
             {wszAppJava,        application_java_filter},




More information about the wine-cvs mailing list