Reviewed by Maciej.
Adjust include paths
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@17108 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/JavaScriptCore/kjs/DateMath.cpp b/JavaScriptCore/kjs/DateMath.cpp
index c7ebca6..7a92a1e 100644
--- a/JavaScriptCore/kjs/DateMath.cpp
+++ b/JavaScriptCore/kjs/DateMath.cpp
@@ -49,13 +49,10 @@
/* 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 @@
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 @@
if(diff < 0)
diff += secondsPerDay;
- return (diff * usecPerMsec);
+ return (diff * msPerSecond);
}
// Get the DST offset the time passed in
@@ -389,7 +386,7 @@
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 @@
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;
}
diff --git a/JavaScriptCore/kjs/DateMath.h b/JavaScriptCore/kjs/DateMath.h
index 050b1d1..9f34344 100644
--- a/JavaScriptCore/kjs/DateMath.h
+++ b/JavaScriptCore/kjs/DateMath.h
@@ -46,6 +46,28 @@
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 @@
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 @@
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