From 09bdd4ffa0e4ba0e4c3d1a4e45eddf5960a7dfcf Mon Sep 17 00:00:00 2001 From: Gregor Schneider Date: Tue, 1 Dec 2009 18:46:13 +0000 Subject: [PATCH] [ntdll] - Logic change of r37554 is correct, RtlTimeFieldsToTime doesn't normalize invalid input values - remove these codes - Related to bug #4917, part 1 svn path=/trunk/; revision=44344 --- reactos/lib/rtl/time.c | 41 ----------------------------------------- 1 file changed, 41 deletions(-) diff --git a/reactos/lib/rtl/time.c b/reactos/lib/rtl/time.c index 1ae111b0be9..1b0b6c5e3f7 100644 --- a/reactos/lib/rtl/time.c +++ b/reactos/lib/rtl/time.c @@ -61,14 +61,6 @@ static int DaysSinceEpoch(int Year) return Days; } -static __inline void NormalizeTimeFields(CSHORT *FieldToNormalize, - CSHORT *CarryField, - int Modulus) -{ - *FieldToNormalize = (CSHORT) (*FieldToNormalize - Modulus); - *CarryField = (CSHORT) (*CarryField + 1); -} - /* FUNCTIONS *****************************************************************/ /* @@ -199,39 +191,6 @@ RtlTimeFieldsToTime( return FALSE; } - /* Normalize the TIME_FIELDS structure here */ - while (IntTimeFields.Second >= SECSPERMIN) - { - NormalizeTimeFields(&IntTimeFields.Second, - &IntTimeFields.Minute, - SECSPERMIN); - } - while (IntTimeFields.Minute >= MINSPERHOUR) - { - NormalizeTimeFields(&IntTimeFields.Minute, - &IntTimeFields.Hour, - MINSPERHOUR); - } - while (IntTimeFields.Hour >= HOURSPERDAY) - { - NormalizeTimeFields(&IntTimeFields.Hour, - &IntTimeFields.Day, - HOURSPERDAY); - } - while (IntTimeFields.Day > - MonthLengths[IsLeapYear(IntTimeFields.Year)][IntTimeFields.Month - 1]) - { - NormalizeTimeFields(&IntTimeFields.Day, - &IntTimeFields.Month, - SECSPERMIN); - } - while (IntTimeFields.Month > MONSPERYEAR) - { - NormalizeTimeFields(&IntTimeFields.Month, - &IntTimeFields.Year, - MONSPERYEAR); - } - /* Compute the time */ Time->QuadPart = DaysSinceEpoch(IntTimeFields.Year); for (CurMonth = 1; CurMonth < IntTimeFields.Month; CurMonth++)