Module: wine Branch: master Commit: 135a70772d16a1f696dc23d0af488300289c9d31 URL: http://source.winehq.org/git/wine.git/?a=commit;h=135a70772d16a1f696dc23d0af...
Author: Alexandre Goujon ale.goujon@gmail.com Date: Fri Sep 10 09:59:53 2010 +0200
fusion: Improve parse_display_name.
---
dlls/fusion/asmname.c | 10 +++++++++- dlls/fusion/tests/asmname.c | 9 +++------ 2 files changed, 12 insertions(+), 7 deletions(-)
diff --git a/dlls/fusion/asmname.c b/dlls/fusion/asmname.c index bcf49a7..54be4e8 100644 --- a/dlls/fusion/asmname.c +++ b/dlls/fusion/asmname.c @@ -522,8 +522,16 @@ static HRESULT parse_display_name(IAssemblyNameImpl *name, LPCWSTR szAssemblyNam if (!str) return E_OUTOFMEMORY;
- ptr = strstrW(str, separator); + ptr = strchrW(str, ','); if (ptr) *ptr = '\0'; + + /* no ',' but ' ' only */ + if( !ptr && strchrW(str, ' ') ) + { + hr = FUSION_E_INVALID_NAME; + goto done; + } + name->name = strdupW(str); if (!name->name) return E_OUTOFMEMORY; diff --git a/dlls/fusion/tests/asmname.c b/dlls/fusion/tests/asmname.c index 655f62f..170af23 100644 --- a/dlls/fusion/tests/asmname.c +++ b/dlls/fusion/tests/asmname.c @@ -868,12 +868,9 @@ static void test_CreateAssemblyNameObject(void) to_widechar(namestr, "wine PublicKeyToken=1234567890abcdef"); name = (IAssemblyName *)0xdeadbeef; hr = pCreateAssemblyNameObject(&name, namestr, CANOF_PARSE_DISPLAY_NAME, NULL); - todo_wine - { - ok(hr == FUSION_E_INVALID_NAME, - "Expected FUSION_E_INVALID_NAME, got %08x\n", hr); - ok(name == (IAssemblyName *)0xdeadbeef, "Expected 0xdeadbeef, got %p\n", name); - } + ok(hr == FUSION_E_INVALID_NAME, + "Expected FUSION_E_INVALID_NAME, got %08x\n", hr); + ok(name == (IAssemblyName *)0xdeadbeef, "Expected 0xdeadbeef, got %p\n", name); if(SUCCEEDED(hr)) IAssemblyName_Release(name);
/* no '=' */