Dmitry Timoshkov : kernel32:
Fix test case failures for time zones with absolute transition dates.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Aug 21 07:20:55 CDT 2007
Module: wine
Branch: master
Commit: 87f119cfe05cb4b13eaea0732655a8270fdf5086
URL: http://source.winehq.org/git/wine.git/?a=commit;h=87f119cfe05cb4b13eaea0732655a8270fdf5086
Author: Dmitry Timoshkov <dmitry at codeweavers.com>
Date: Thu Aug 9 13:44:50 2007 +0900
kernel32: Fix test case failures for time zones with absolute transition dates.
---
dlls/kernel32/time.c | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/dlls/kernel32/time.c b/dlls/kernel32/time.c
index 90af803..9aa9c69 100644
--- a/dlls/kernel32/time.c
+++ b/dlls/kernel32/time.c
@@ -101,7 +101,10 @@ static int TIME_DayLightCompareDate( const SYSTEMTIME *date,
if (date->wMonth > compareDate->wMonth)
return 1; /* We are in a month after the date limit. */
- if (compareDate->wDayOfWeek <= 6)
+ /* if year is 0 then date is in day-of-week format, otherwise
+ * it's absolute date.
+ */
+ if (compareDate->wYear == 0)
{
WORD First;
/* compareDate->wDay is interpreted as number of the week in the month
@@ -160,11 +163,14 @@ static DWORD TIME_CompTimeZoneID ( const TIME_ZONE_INFORMATION *pTZinfo,
if (pTZinfo->DaylightDate.wMonth != 0)
{
- if (pTZinfo->StandardDate.wMonth == 0 ||
- pTZinfo->StandardDate.wDay<1 ||
+ /* if year is 0 then date is in day-of-week format, otherwise
+ * it's absolute date.
+ */
+ if (pTZinfo->StandardDate.wYear == 0 &&
+ (pTZinfo->StandardDate.wDay<1 ||
pTZinfo->StandardDate.wDay>5 ||
pTZinfo->DaylightDate.wDay<1 ||
- pTZinfo->DaylightDate.wDay>5)
+ pTZinfo->DaylightDate.wDay>5))
{
SetLastError(ERROR_INVALID_PARAMETER);
return TIME_ZONE_ID_INVALID;
More information about the wine-cvs
mailing list