Piotr Caban : fusion: Fix IAssemblyNameImpl_GetDisplayName behavior on PublicKeyToken containing 0.

Alexandre Julliard julliard at winehq.org
Fri Nov 10 17:21:28 CST 2017


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

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Fri Nov 10 12:25:17 2017 +0100

fusion: Fix IAssemblyNameImpl_GetDisplayName behavior on PublicKeyToken containing 0.

Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/fusion/asmname.c       | 4 ++--
 dlls/fusion/tests/asmname.c | 8 ++++----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/dlls/fusion/asmname.c b/dlls/fusion/asmname.c
index 96345b6d..ea10434 100644
--- a/dlls/fusion/asmname.c
+++ b/dlls/fusion/asmname.c
@@ -361,8 +361,8 @@ static HRESULT WINAPI IAssemblyNameImpl_GetDisplayName(IAssemblyName *iface,
     if ((dwDisplayFlags & ASM_DISPLAYF_PUBLIC_KEY_TOKEN) && (name->haspubkey))
     {
         WCHAR pkt[CHARS_PER_PUBKEY + 1];
-        static const WCHAR spec[] = {'%','0','x','%','0','x','%','0','x',
-            '%','0','x','%','0','x','%','0','x','%','0','x','%','0','x',0};
+        static const WCHAR spec[] = {'%','0','2','x','%','0','2','x','%','0','2','x',
+            '%','0','2','x','%','0','2','x','%','0','2','x','%','0','2','x','%','0','2','x',0};
 
         lstrcatW(szDisplayName, separator);
 
diff --git a/dlls/fusion/tests/asmname.c b/dlls/fusion/tests/asmname.c
index e1ef1d8..f48fe32 100644
--- a/dlls/fusion/tests/asmname.c
+++ b/dlls/fusion/tests/asmname.c
@@ -306,7 +306,7 @@ static const ASMPROP_RES enname[ASM_NAME_MAX_PARAMS] =
 static const ASMPROP_RES pubkeyname[ASM_NAME_MAX_PARAMS] =
 {
     {S_OK, "", 0},
-    {S_OK, "\x12\x34\x56\x78\x90\xab\xcd\xef", 8},
+    {S_OK, "\x01\x23\x45\x67\x89\x0a\xbc\xde", 8},
     {S_OK, "", 0},
     {S_OK, "wine", 10},
     {S_OK, "", 0},
@@ -748,8 +748,8 @@ static void test_CreateAssemblyNameObject(void)
 
     IAssemblyName_Release(name);
 
-    /* 'wine, PublicKeyToken=1234567890abcdef' */
-    to_widechar(namestr, "wine, PublicKeyToken=1234567890abcdef");
+    /* 'wine, PublicKeyToken=01234567890abcde' */
+    to_widechar(namestr, "wine, PublicKeyToken=01234567890abcde");
     name = NULL;
     hr = pCreateAssemblyNameObject(&name, namestr, CANOF_PARSE_DISPLAY_NAME, NULL);
     ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
@@ -758,7 +758,7 @@ static void test_CreateAssemblyNameObject(void)
     size = MAX_PATH;
     hr = IAssemblyName_GetDisplayName(name, str, &size, ASM_DISPLAYF_FULL);
     ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
-    ok_aw("wine, PublicKeyToken=1234567890abcdef", str);
+    ok_aw("wine, PublicKeyToken=01234567890abcde", str);
     ok(size == 38, "Expected 38, got %d\n", size);
 
     size = MAX_PATH;




More information about the wine-cvs mailing list