Module: wine Branch: master Commit: b4bc2c362851cb4e3789b47e8c9e1a000f0dbe8d URL: http://source.winehq.org/git/wine.git/?a=commit;h=b4bc2c362851cb4e3789b47e8c...
Author: Mike McCormack mike@codeweavers.com Date: Wed Jan 3 22:37:38 2007 +0900
kernel32: Don't try update version resources with invalid data, as it fails on Windows 2003.
---
dlls/kernel32/tests/resource.c | 22 +++------------------- 1 files changed, 3 insertions(+), 19 deletions(-)
diff --git a/dlls/kernel32/tests/resource.c b/dlls/kernel32/tests/resource.c index 964f17a..47bfc7c 100644 --- a/dlls/kernel32/tests/resource.c +++ b/dlls/kernel32/tests/resource.c @@ -161,31 +161,15 @@ static void update_resources_delete( voi todo_wine ok( r, "EndUpdateResouce failed\n"); }
-struct verhdr { - WORD wLength; - WORD wValueLength; - WORD wType; - WCHAR key[1]; -}; - void update_resources_version(void) { HANDLE res = NULL; BOOL r; - struct verhdr hdr; char foo[] = "red and white";
res = BeginUpdateResource( filename, TRUE ); ok( res != NULL, "BeginUpdateResource failed\n");
- memset( &hdr, 0, sizeof hdr ); - r = UpdateResource( res, - RT_VERSION, - MAKEINTRESOURCE(VS_VERSION_INFO), - MAKELANGID(LANG_ENGLISH, SUBLANG_NEUTRAL), - &hdr, sizeof hdr ); - ok( r, "UpdateResouce failed\n"); - r = UpdateResource( res, MAKEINTRESOURCE(0x1230), MAKEINTRESOURCE(0x4567), @@ -219,10 +203,10 @@ void check_empty( IMAGE_RESOURCE_DIRECTO todo_wine ok( !memcmp( pad, "PADDINGXXPADDING", 16), "padding wrong\n"); }
-void check_version( IMAGE_RESOURCE_DIRECTORY *dir ) +void check_not_empty( IMAGE_RESOURCE_DIRECTORY *dir ) { ok( dir->NumberOfNamedEntries == 0, "NumberOfNamedEntries should be 0 instead of %d\n", dir->NumberOfNamedEntries); - todo_wine ok( dir->NumberOfIdEntries == 2, "NumberOfIdEntries should be 2 instead of %d\n", dir->NumberOfIdEntries); + todo_wine ok( dir->NumberOfIdEntries == 1, "NumberOfIdEntries should be 1 instead of %d\n", dir->NumberOfIdEntries); }
void check_exe( res_check_func fn ) @@ -287,6 +271,6 @@ START_TEST(resource) update_resources_delete(); check_exe( check_empty ); update_resources_version(); - check_exe( check_version ); + check_exe( check_not_empty ); DeleteFile( filename ); }