Reviewed by Adam.
authorkmccullo <kmccullo@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 30 Oct 2006 21:34:54 +0000 (21:34 +0000)
committerkmccullo <kmccullo@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 30 Oct 2006 21:34:54 +0000 (21:34 +0000)
        - Fix some timezone issues and JavaScriptCore date tests.  Addresses bugzilla 4930.

        * kjs/DateMath.h:
        (KJS::GregorianDateTime::GregorianDateTime): Here's the fix, to add parenthesis for order of precedence.
        * kjs/date_object.cpp:
        (KJS::DateProtoFunc::callAsFunction):
        (KJS::DateObjectImp::construct): memset not needed as GregorianDateTime initializes itself.

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

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

index dde3839f39a3770a38b97a926ed3a128d9b21988..0465ae7dc6cabd029a30d66a4764b93bbfa2d978 100644 (file)
@@ -1,3 +1,15 @@
+2006-10-30  Kevin McCullough  <KMcCullough@apple.com>
+
+        Reviewed by Adam.
+
+        - Fix some timezone issues and JavaScriptCore date tests.  Addresses bugzilla 4930.
+
+        * kjs/DateMath.h:
+        (KJS::GregorianDateTime::GregorianDateTime): Here's the fix, to add parenthesis for order of precedence.
+        * kjs/date_object.cpp:
+        (KJS::DateProtoFunc::callAsFunction): 
+        (KJS::DateObjectImp::construct): memset not needed as GregorianDateTime initializes itself.
+
 2006-10-30  Darin Adler  <darin@apple.com>
 
         Reviewed by John Sullivan.
index 2909576fc3e9493ee559cb272958bc1542ab97b8..a990d298b0c48d33b9f64e80937b43f126313608 100644 (file)
@@ -111,7 +111,7 @@ struct GregorianDateTime {
         timeZone = new char[inZoneSize];
         strncpy(timeZone, inTm.tm_zone, inZoneSize);
 #else
-        utcOffset = static_cast<int>(getUTCOffset() / msPerSecond + isDST ? secondsPerHour : 0);
+        utcOffset = static_cast<int>(getUTCOffset() / msPerSecond + (isDST ? secondsPerHour : 0));
         timeZone = 0;
 #endif
     }
index 6cc1089bae9ae50cfcb532982cd87b8c25df616f..19274ca9d80a9b10fcc38a237ac88694ca6c94a4 100644 (file)
@@ -551,7 +551,7 @@ JSValue *DateProtoFunc::callAsFunction(ExecState *exec, JSObject *thisObj, const
   case GetMilliSeconds:
     return jsNumber(ms);
   case GetTimezoneOffset:
-    return jsNumber(-gmtoffset(t) / 60);
+    return jsNumber(-gmtoffset(t) / minutesPerHour);
   case SetTime:
     milli = roundValue(exec, args[0]);
     result = jsNumber(milli);
@@ -663,7 +663,6 @@ JSObject *DateObjectImp::construct(ExecState *exec, const List &args)
       value = NaN;
     } else {
       GregorianDateTime t;
-      memset(&t, 0, sizeof(t));
       int year = args[0]->toInt32(exec);
       t.year = (year >= 0 && year <= 99) ? year : year - 1900;
       t.month = args[1]->toInt32(exec);