Hi, Il 17/05/21 14:41, Francois Gouget ha scritto:
On Mon, 17 May 2021, Giovanni Mascellani wrote: [...]
+ /* recently added time zones may not have MUI strings */ + todo_wine ok((status == ERROR_SUCCESS && *name) || + broken(status == ERROR_RESOURCE_TYPE_NOT_FOUND) /* Win10 1809 32-bit */ || + broken(status == ERROR_MUI_FILE_NOT_FOUND) /* Win10 1809 64-bit */, + "status %d MUI_Display %s\n", status, wine_dbgstr_w(name)); Why don't you check for *name after the first two calls to pRegLoadMUIStringW? It would be redundant with the memcmp() that follows? (or I misunderstood)
status = pRegLoadMUIStringW(subkey, L"MUI_Std", name, size, &size, 0, sysdir); ok(status == ERROR_SUCCESS, "status %d MUI_Std %s\n", status, wine_dbgstr_w(name)); } ok(!memcmp(&dtzi.StandardName, name, size), "expected %s, got %s\n", wine_dbgstr_w(name), wine_dbgstr_w(dtzi.StandardName));
Unless I am mistaken, memcmp() checks that dtzi.StandardName and name are the same string (or, technically, that name is a prefix of dtzi.StandardName, which might be longer). They could be both empty strings. BTW, this is not really a big problem in practice. I asked just because I saw that in the case of Display you did this check. Thanks, Giovanni.