user32/test: Don't over-allocate memory for DDEDATA.

Michael Stefaniuc mstefani at redhat.de
Tue Oct 30 17:14:52 CDT 2012


Also don't bother with the broken Win9x test results.
---
 dlls/user32/tests/dde.c |   14 +++++---------
 1 files changed, 5 insertions(+), 9 deletions(-)

diff --git a/dlls/user32/tests/dde.c b/dlls/user32/tests/dde.c
index 3ad48f0..e5d5554 100644
--- a/dlls/user32/tests/dde.c
+++ b/dlls/user32/tests/dde.c
@@ -143,7 +143,7 @@ static LRESULT WINAPI dde_server_wndproc(HWND hwnd, UINT msg, WPARAM wparam, LPA
         else
             lstrcpyA(str, "requested data\r\n");
 
-        size = sizeof(DDEDATA) + lstrlenA(str) + 1;
+        size = FIELD_OFFSET(DDEDATA, Value[lstrlenA(str) + 1]);
         hglobal = GlobalAlloc(GMEM_MOVEABLE, size);
         ok(hglobal != NULL, "Expected non-NULL hglobal\n");
 
@@ -314,8 +314,7 @@ static void test_ddeml_client(void)
     {
         str = (LPSTR)DdeAccessData(hdata, &size);
         ok(!lstrcmpA(str, "requested data\r\n"), "Expected 'requested data\\r\\n', got %s\n", str);
-        ok(size == 19 || broken(size == 28), /* sizes are rounded up on win9x */
-           "Expected 19, got %d\n", size);
+        ok(size == 17, "Expected 17, got %d\n", size);
 
         ret = DdeUnaccessData(hdata);
         ok(ret == TRUE, "Expected TRUE, got %d\n", ret);
@@ -336,8 +335,7 @@ todo_wine
     {
         str = (LPSTR)DdeAccessData(hdata, &size);
         ok(!lstrcmpA(str, "requested data\r\n"), "Expected 'requested data\\r\\n', got %s\n", str);
-        ok(size == 19 || broken(size == 28), /* sizes are rounded up on win9x */
-           "Expected 19, got %d\n", size);
+        ok(size == 17, "Expected 17, got %d\n", size);
 
         ret = DdeUnaccessData(hdata);
         ok(ret == TRUE, "Expected TRUE, got %d\n", ret);
@@ -357,8 +355,7 @@ todo_wine
     {
         str = (LPSTR)DdeAccessData(hdata, &size);
         ok(!lstrcmpA(str, "requested data\r\n"), "Expected 'requested data\\r\\n', got %s\n", str);
-        ok(size == 19 || broken(size == 28), /* sizes are rounded up on win9x */
-           "Expected 19, got %d\n", size);
+        ok(size == 17, "Expected 17, got %d\n", size);
 
         ret = DdeUnaccessData(hdata);
         ok(ret == TRUE, "Expected TRUE, got %d\n", ret);
@@ -483,8 +480,7 @@ todo_wine
     {
         str = (LPSTR)DdeAccessData(hdata, &size);
         ok(!lstrcmpA(str, "command executed\r\n"), "Expected 'command executed\\r\\n', got %s\n", str);
-        ok(size == 21 || broken(size == 28), /* sizes are rounded up on win9x */
-           "Expected 21, got %d\n", size);
+        ok(size == 19, "Expected 19, got %d\n", size);
 
         ret = DdeUnaccessData(hdata);
         ok(ret == TRUE, "Expected TRUE, got %d\n", ret);
-- 
1.7.6.5



More information about the wine-patches mailing list