Reviewed by Maciej.
authorkmccullo <kmccullo@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 18 Oct 2006 17:37:04 +0000 (17:37 +0000)
committerkmccullo <kmccullo@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 18 Oct 2006 17:37:04 +0000 (17:37 +0000)
        Adjust include paths

        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@17108 268f45cc-cd09-0410-ab3c-d52691b4dbfc

JavaScriptCore/ChangeLog
JavaScriptCore/kjs/DateMath.cpp
JavaScriptCore/kjs/DateMath.h

index 7956aeaf42bd4d76b168e8dacdc041f5fb46e9fb..f544bb9c4c051cb83f35851f6d0e73313c1d2251 100644 (file)
@@ -6,6 +6,20 @@
 
         * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
 
+2006-10-17  Kevin McCullough  <KMcCullough@apple.com>
+
+        Reviewed by Darin.
+
+        Fixed a date issue where the UTC offset was not set in win.
+
+        * kjs/DateMath.cpp:
+        (KJS::getDSTOffsetSimple):
+        (KJS::getDSTOffset):
+        (KJS::msToGregorianDateTime):
+        * kjs/DateMath.h:
+        (KJS::):
+        (KJS::GregorianDateTime::GregorianDateTime):
+
 2006-10-17  Kevin McCullough  <KMcCullough@apple.com>
 
         Reviewed by Brady.
index c7ebca6d82ad84b1b09c7c79b8773d44b484b639..7a92a1ef0d7982ee6189f60eb0f63f067c0a3a67 100644 (file)
@@ -49,13 +49,10 @@ namespace KJS {
 
 /* Constants */
 
-static const double secondsPerHour = 60.0 * 60.0;
 static const double minutesPerDay = 24.0 * 60.0;
 static const double secondsPerDay = 24.0 * 60.0 * 60.0;
 static const double secondsPerYear = 24.0 * 60.0 * 60.0 * 365.0;
 
-
-static const double usecPerMsec = 1000.0;
 static const double usecPerSec = 1000000.0;
 
 static const double maxUnixTime = 2145859200.0; /*equivalent to 12/31/2037 */
@@ -348,7 +345,7 @@ static double getDSTOffsetSimple(double localTimeSeconds)
     else if(localTimeSeconds < 0) // Go ahead a day to make localtime work (does not work with 0)
         localTimeSeconds += secondsPerDay;
 
-    double offsetTime = (localTimeSeconds * usecPerMsec) + getUTCOffset() ;
+    double offsetTime = (localTimeSeconds * msPerSecond) + getUTCOffset() ;
 
     // Offset from UTC but doesn't include DST obviously
     int offsetHour =  msToHours(offsetTime);
@@ -369,7 +366,7 @@ static double getDSTOffsetSimple(double localTimeSeconds)
     if(diff < 0)
         diff += secondsPerDay;
 
-    return (diff * usecPerMsec);
+    return (diff * msPerSecond);
 }
 
 // Get the DST offset the time passed in
@@ -389,7 +386,7 @@ static double getDSTOffset(double ms)
         ms = (day * msPerDay) + msToMilliseconds(ms);
     }
 
-    return getDSTOffsetSimple(ms / usecPerMsec);
+    return getDSTOffsetSimple(ms / msPerSecond);
 }
 
 double gregorianDateTimeToMS(const GregorianDateTime& t, double milliSeconds, bool inputIsUTC)
@@ -427,7 +424,7 @@ void msToGregorianDateTime(double ms, bool outputIsUTC, struct GregorianDateTime
     tm.year     =  msToYear(ms) - 1900;
     tm.isDST =  dstOff != 0.0;
 
-    tm.utcOffset = static_cast<long>((dstOff + getUTCOffset()) / usecPerMsec);
+    tm.utcOffset = static_cast<long>((dstOff + getUTCOffset()) / msPerSecond);
     tm.timeZone = NULL;
 }
 
index 050b1d1280cbb1ec51d640fc7546921669410531..9f343449a89d4858dc70614aaef72e9771a480ad 100644 (file)
 
 namespace KJS {
 
+// Constants //
+const char * const weekdayName[7] = { "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun" };
+const char * const monthName[12] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
+
+const double hoursPerDay = 24.0;
+const double minutesPerHour = 60.0;
+const double secondsPerHour = 60.0 * 60.0;
+const double secondsPerMinute = 60.0;
+const double msPerSecond = 1000.0;
+const double msPerMinute = 60.0 * 1000.0;
+const double msPerHour = 60.0 * 60.0 * 1000.0;
+const double msPerDay = 24.0 * 60.0 * 60.0 * 1000.0;
+
+
+// Forward //
+struct GregorianDateTime;
+
+// Exported Functions //
+void msToGregorianDateTime(double, bool outputIsUTC, struct GregorianDateTime&);
+double gregorianDateTimeToMS(const GregorianDateTime&, double, bool inputIsUTC);
+double getUTCOffset();
+
 // Intentionally overridding the default tm of the system
 // Not all OS' have the same members of their tm's
 struct GregorianDateTime {
@@ -88,7 +110,7 @@ struct GregorianDateTime {
         timeZone = new char[inZoneSize];
         strncpy(timeZone, inTm.tm_zone, inZoneSize);
 #else
-        utcOffset = 0;
+        utcOffset = (getUTCOffset() / msPerSecond) + (isDST ? secondsPerHour : 0);
         timeZone = NULL;
 #endif
     }
@@ -129,24 +151,6 @@ struct GregorianDateTime {
     char* timeZone;
 };
 
-// Constants //
-
-const char * const weekdayName[7] = { "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun" };
-const char * const monthName[12] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
-
-const double hoursPerDay = 24.0;
-const double msPerDay = 24.0 * 60.0 * 60.0 * 1000.0;
-const double minutesPerHour = 60.0;
-const double secondsPerMinute = 60.0;
-const double msPerSecond = 1000.0;
-const double msPerMinute = 60.0 * 1000.0;
-const double msPerHour = 60.0 * 60.0 * 1000.0;
-
-// Exported Functions //
-void msToGregorianDateTime(double, bool outputIsUTC, struct GregorianDateTime&);
-double gregorianDateTimeToMS(const GregorianDateTime&, double, bool inputIsUTC);
-double getUTCOffset();
-
 }   //namespace KJS
 
 #endif // DateMath_h