[Gdiplus 3/3] Add another helper macro to deal with magic numbers.
Adam Petaccia
adam at tpetaccia.com
Wed Jul 9 23:45:21 CDT 2008
The Gdiplus that comes with powerpoint viewer (winetricks) sends out 0xdbc01002
This is more evidence for this field being a version number.
---
dlls/gdiplus/tests/region.c | 33 ++++++++++++++++++---------------
1 files changed, 18 insertions(+), 15 deletions(-)
diff --git a/dlls/gdiplus/tests/region.c b/dlls/gdiplus/tests/region.c
index 7b1eba5..6b1c5f0 100644
--- a/dlls/gdiplus/tests/region.c
+++ b/dlls/gdiplus/tests/region.c
@@ -29,9 +29,12 @@
#define RGNDATA_INFINITE_RECT 0x10000003
#define RGNDATA_MAGIC 0xdbc01001
+#define RGNDATA_MAGIC2 0xdbc01002
#define expect(expected, got) ok(got == expected, "Expected %.8x, got %.8x\n", expected, got)
+#define expect_magic(value) ok(*value == RGNDATA_MAGIC || *value == RGNDATA_MAGIC2, "Expected a known magic value, got %8x\n", *value)
+
static inline void expect_dword(DWORD *value, DWORD expected)
{
ok(*value == expected, "expected %08x got %08x\n", expected, *value);
@@ -73,7 +76,7 @@ todo_wine
ok(needed == 20, "got %d\n", needed);
expect_dword(buf, 12);
trace("buf[1] = %08x\n", buf[1]);
- expect_dword(buf + 2, RGNDATA_MAGIC);
+ expect_magic((DWORD*)(buf + 2));
expect_dword(buf + 3, 0);
expect_dword(buf + 4, RGNDATA_INFINITE_RECT);
@@ -87,7 +90,7 @@ todo_wine
ok(needed == 20, "got %d\n", needed);
expect_dword(buf, 12);
trace("buf[1] = %08x\n", buf[1]);
- expect_dword(buf + 2, RGNDATA_MAGIC);
+ expect_magic((DWORD*)(buf + 2));
expect_dword(buf + 3, 0);
expect_dword(buf + 4, RGNDATA_EMPTY_RECT);
@@ -101,7 +104,7 @@ todo_wine
ok(needed == 20, "got %d\n", needed);
expect_dword(buf, 12);
trace("buf[1] = %08x\n", buf[1]);
- expect_dword(buf + 2, RGNDATA_MAGIC);
+ expect_magic((DWORD*)(buf + 2));
expect_dword(buf + 3, 0);
expect_dword(buf + 4, RGNDATA_INFINITE_RECT);
@@ -122,7 +125,7 @@ todo_wine
ok(needed == 36, "got %d\n", needed);
expect_dword(buf, 28);
trace("buf[1] = %08x\n", buf[1]);
- expect_dword(buf + 2, RGNDATA_MAGIC);
+ expect_magic((DWORD*)(buf + 2));
expect_dword(buf + 3, 0);
expect_dword(buf + 4, RGNDATA_RECT);
expect_float(buf + 5, 10.0);
@@ -174,7 +177,7 @@ todo_wine
ok(needed == 156, "got %d\n", needed);
expect_dword(buf, 148);
trace("buf[1] = %08x\n", buf[1]);
- expect_dword(buf + 2, RGNDATA_MAGIC);
+ expect_magic((DWORD*)(buf + 2));
expect_dword(buf + 3, 10);
expect_dword(buf + 4, CombineModeExclude);
expect_dword(buf + 5, CombineModeComplement);
@@ -234,11 +237,11 @@ todo_wine
ok(needed == 72, "got %d\n", needed);
expect_dword(buf, 64);
trace("buf[1] = %08x\n", buf[1]);
- expect_dword(buf + 2, RGNDATA_MAGIC);
+ expect_magic((DWORD*)(buf + 2));
expect_dword(buf + 3, 0);
expect_dword(buf + 4, RGNDATA_PATH);
expect_dword(buf + 5, 0x00000030);
- expect_dword(buf + 6, RGNDATA_MAGIC);
+ expect_magic((DWORD*)(buf + 6));
expect_dword(buf + 7, 0x00000004);
expect_dword(buf + 8, 0x00000000);
expect_float(buf + 9, 12.5);
@@ -266,12 +269,12 @@ todo_wine
ok(needed == 96, "got %d\n", needed);
expect_dword(buf, 88);
trace("buf[1] = %08x\n", buf[1]);
- expect_dword(buf + 2, RGNDATA_MAGIC);
+ expect_magic((DWORD*)(buf + 2));
expect_dword(buf + 3, 2);
expect_dword(buf + 4, CombineModeIntersect);
expect_dword(buf + 5, RGNDATA_PATH);
expect_dword(buf + 6, 0x00000030);
- expect_dword(buf + 7, RGNDATA_MAGIC);
+ expect_magic((DWORD*)(buf + 7));
expect_dword(buf + 8, 0x00000004);
expect_dword(buf + 9, 0x00000000);
expect_float(buf + 10, 12.5);
@@ -307,13 +310,13 @@ todo_wine
ok(needed == 36, "got %d\n", needed);
expect_dword(buf, 28);
trace("buf[1] = %08x\n", buf[1]);
- expect_dword(buf + 2, RGNDATA_MAGIC);
+ expect_magic((DWORD*)(buf + 2));
expect_dword(buf + 3, 0);
expect_dword(buf + 4, RGNDATA_PATH);
/* Second signature for pathdata */
expect_dword(buf + 5, 12);
- expect_dword(buf + 6, RGNDATA_MAGIC);
+ expect_magic((DWORD*)(buf + 6));
expect_dword(buf + 7, 0);
expect_dword(buf + 8, 0x00004000);
@@ -338,12 +341,12 @@ todo_wine
expect(Ok, status);
expect_dword(buf, 48);
trace("buf[1] = %08x\n", buf[1]);
- expect_dword(buf + 2 , RGNDATA_MAGIC);
+ expect_magic((DWORD*)(buf + 2));
expect_dword(buf + 3 , 0);
expect_dword(buf + 4 , RGNDATA_PATH);
expect_dword(buf + 5, 32);
- expect_dword(buf + 6, RGNDATA_MAGIC);
+ expect_magic((DWORD*)(buf + 6));
expect_dword(buf + 7, 4);
expect_dword(buf + 8, 0x00004000); /* ?? */
@@ -380,12 +383,12 @@ todo_wine
expect(Ok, status);
expect_dword(buf, 64);
trace("buf[1] = %08x\n", buf[1]);
- expect_dword(buf + 2, RGNDATA_MAGIC);
+ expect_magic((DWORD*)(buf + 2));
expect_dword(buf + 3, 0);
expect_dword(buf + 4, RGNDATA_PATH);
expect_dword(buf + 5, 48);
- expect_dword(buf + 6, RGNDATA_MAGIC);
+ expect_magic((DWORD*)(buf + 6));
expect_dword(buf + 7, 4);
expect_dword(buf + 8, 0);
expect_float(buf + 9, 5.6);
--
1.5.4.3
More information about the wine-patches
mailing list