shlwapi/tests: set last error like Win7

André Hentschel nerv at dawncrow.de
Tue Jul 6 13:45:10 CDT 2010


This only applies to SHFormatDateTimeA, not to SHFormatDateTimeW...
---
 dlls/shlwapi/ordinal.c       |    2 ++
 dlls/shlwapi/tests/ordinal.c |    3 ++-
 2 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/dlls/shlwapi/ordinal.c b/dlls/shlwapi/ordinal.c
index 5f332f3..5587765 100644
--- a/dlls/shlwapi/ordinal.c
+++ b/dlls/shlwapi/ordinal.c
@@ -4842,6 +4842,8 @@ INT WINAPI SHFormatDateTimeA(const FILETIME UNALIGNED *fileTime, DWORD *flags,
     WCHAR *bufW;
     INT retval;
 
+    if (!buf && !size)
+        SetLastError(ERROR_SUCCESS);
     if (!buf || !size)
         return 0;
 
diff --git a/dlls/shlwapi/tests/ordinal.c b/dlls/shlwapi/tests/ordinal.c
index bf61418..4d9a23f 100644
--- a/dlls/shlwapi/tests/ordinal.c
+++ b/dlls/shlwapi/tests/ordinal.c
@@ -1589,7 +1589,8 @@ if (0)
     SetLastError(0xdeadbeef);
     ret = pSHFormatDateTimeA(&filetime, NULL, NULL, 0);
     ok(ret == 0, "got %d\n", ret);
-    ok(GetLastError() == 0xdeadbeef, "expected 0xdeadbeef, got %d\n", GetLastError());
+    ok(GetLastError() == ERROR_SUCCESS /* Win7 */ ||
+       broken(GetLastError() == 0xdeadbeef), "expected ERROR_SUCCESS, got %d\n", GetLastError());
 
     SetLastError(0xdeadbeef);
     buff[0] = 'a'; buff[1] = 0;
-- 

Best Regards, André Hentschel



More information about the wine-patches mailing list