From b5346a8ce3c43a3cd5f570e3676b24a2fd717f34 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Fri, 24 Apr 2009 12:48:44 +0200 Subject: [PATCH] user32: Fix the DDE service formatting for 64-bit. --- dlls/user32/dde_misc.c | 4 ++-- dlls/user32/tests/dde.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dlls/user32/dde_misc.c b/dlls/user32/dde_misc.c index d0243c79d4b..fda8255b181 100644 --- a/dlls/user32/dde_misc.c +++ b/dlls/user32/dde_misc.c @@ -1647,7 +1647,7 @@ HGLOBAL WDML_DataHandle2Global(HDDEDATA hDdeData, BOOL fResponse, BOOL fRelease, */ WDML_SERVER* WDML_AddServer(WDML_INSTANCE* pInstance, HSZ hszService, HSZ hszTopic) { - static const WCHAR fmtW[] = {'%','s','(','0','x','%','0','8','l','x',')',0}; + static const WCHAR fmtW[] = {'%','s','(','0','x','%','*','x',')',0}; WDML_SERVER* pServer; WCHAR buf1[256]; WCHAR buf2[256]; @@ -1659,7 +1659,7 @@ WDML_SERVER* WDML_AddServer(WDML_INSTANCE* pInstance, HSZ hszService, HSZ hszTop WDML_IncHSZ(pInstance, hszService); DdeQueryStringW(pInstance->instanceID, hszService, buf1, 256, CP_WINUNICODE); - snprintfW(buf2, 256, fmtW, buf1, GetCurrentProcessId()); + snprintfW(buf2, 256, fmtW, buf1, 2*sizeof(ULONG_PTR), GetCurrentProcessId()); pServer->hszServiceSpec = DdeCreateStringHandleW(pInstance->instanceID, buf2, CP_WINUNICODE); pServer->atomService = WDML_MakeAtomFromHsz(pServer->hszService); diff --git a/dlls/user32/tests/dde.c b/dlls/user32/tests/dde.c index e7f09f1b20d..3fa9a4f3871 100644 --- a/dlls/user32/tests/dde.c +++ b/dlls/user32/tests/dde.c @@ -585,7 +585,7 @@ static HDDEDATA CALLBACK server_ddeml_callback(UINT uType, UINT uFmt, HCONV hcon size = DdeQueryStringA(server_pid, hsz2, str, MAX_PATH, CP_WINANSI); ok(!strncmp(str, "TestDDEServer(", 14), "Expected TestDDEServer(, got %s\n", str); ok(str[size - 1] == ')', "Expected ')', got %c\n", str[size - 1]); - ok(size == 25, "Expected 25, got %d\n", size); + ok(size == 17 + 2*sizeof(ULONG_PTR), "Got size %d for %s\n", size, str); return (HDDEDATA)TRUE; }