On Fri, Oct 20, 2017 at 09:58:57AM +0800, Dmitry Timoshkov wrote:
v2: Call IPersistStorage_Save() directly instead of OleSave().
dlls/ole32/tests/ole2.c | 402 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 402 insertions(+)
diff --git a/dlls/ole32/tests/ole2.c b/dlls/ole32/tests/ole2.c
index 0773bbf189..9ed19f1f9b 100644
--- a/dlls/ole32/tests/ole2.c
+++ b/dlls/ole32/tests/ole2.c
+static void check_storage_contents(IStorage *stg, const struct storage_def *stg_def,
+{
+todo_wine_if(!IsEqualCLSID(stg_def->clsid, &stat.clsid))
- ok(IsEqualCLSID(stg_def->clsid, &stat.clsid), "expected %s, got %s\n",
wine_dbgstr_guid(stg_def->clsid), wine_dbgstr_guid(&stat.clsid));
- hr = IStorage_EnumElements(stg, 0, NULL, 0, &enumstg);
- ok(hr == S_OK, "unexpected %#x\n", hr);
- for (;;)
- {
ULONG bytes;
int clipformat = -1;
PresentationDataHeader header;
char name[32];
BYTE data[256];
memset(&header, 0, sizeof(header));
hr = IEnumSTATSTG_Next(enumstg, 1, &stat, NULL);
if(hr == S_FALSE) break;
ok(hr == S_OK, "unexpected %#x\n", hr);
if (winetest_debug > 1)
trace("name %s, type %u, size %d, clsid %s\n",
wine_dbgstr_w(stat.pwcsName), stat.type, stat.cbSize.u.LowPart, wine_dbgstr_guid(&stat.clsid));
ok(stat.type == STGTY_STREAM, "unexpected %#x\n", stat.type);
WideCharToMultiByte(CP_ACP, 0, stat.pwcsName, -1, name, sizeof(name), NULL, NULL);
hr = IStorage_OpenStream(stg, stat.pwcsName, NULL, STGM_READ | STGM_SHARE_EXCLUSIVE, 0, &stream);
ok(hr == S_OK, "unexpected %#x\n", hr);
if (!memcmp(name, "\2OlePres", 7))
{
clipformat = read_clipformat(stream);
hr = IStream_Read(stream, &header, sizeof(header), &bytes);
ok(hr == S_OK, "unexpected %#x\n", hr);
ok(bytes >= 24, "read %u bytes, expected to read %u bytes\n", bytes, sizeof(header));
You're using sizeof as an argument to a fprintf-like function which,
for example, gives a warning on macOS.
ole2.c:3532:82: warning: format specifies type 'unsigned int' but the argument has type 'unsigned long' [-Wformat]
Also, while you're at it, couldn't that '24' be sizeof(header) instead?
Huw.