From 73a0f2c900ae26dd2a6339cdf61c77b85a9e0840 Mon Sep 17 00:00:00 2001 From: Piotr Caban Date: Tue, 16 Jun 2009 11:41:39 +0200 Subject: [PATCH] jscript: Fixed hour_from_time and week_day functions. --- dlls/jscript/date.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/dlls/jscript/date.c b/dlls/jscript/date.c index 1dd9b964937..dad8dc444f4 100644 --- a/dlls/jscript/date.c +++ b/dlls/jscript/date.c @@ -210,19 +210,29 @@ static inline DOUBLE date_from_time(DOUBLE time) /* ECMA-262 3th Edition 15.9.1.6 */ static inline DOUBLE week_day(DOUBLE time) { + DOUBLE ret; + if(isnan(time)) return ret_nan(); - return (int)(day(time)+4) % 7; + ret = fmod(day(time)+4, 7); + if(ret<0) ret += 7; + + return ret; } /* ECMA-262 3th Edition 15.9.1.10 */ static inline DOUBLE hour_from_time(DOUBLE time) { + DOUBLE ret; + if(isnan(time)) return ret_nan(); - return (int)floor(time/MS_PER_HOUR) % 24; + ret = fmod(floor(time/MS_PER_HOUR), 24); + if(ret<0) ret += 24; + + return ret; } /* ECMA-262 3rd Edition 15.9.1.14 */