Module: wine Branch: master Commit: d0a719a79dae001df341db907fcae54118691d35 URL: http://source.winehq.org/git/wine.git/?a=commit;h=d0a719a79dae001df341db907f...
Author: Jacek Caban jacek@codeweavers.com Date: Tue May 29 12:53:55 2012 +0200
jscript: Get rid of ret_nan hack.
---
dlls/jscript/date.c | 28 ++++++++++++++-------------- dlls/jscript/error.c | 3 ++- dlls/jscript/global.c | 2 +- dlls/jscript/jscript.h | 7 ------- dlls/jscript/jsutils.c | 6 +++--- dlls/jscript/lex.c | 2 +- 6 files changed, 21 insertions(+), 27 deletions(-)
diff --git a/dlls/jscript/date.c b/dlls/jscript/date.c index d9c0d39..6bcf9c1 100644 --- a/dlls/jscript/date.c +++ b/dlls/jscript/date.c @@ -130,7 +130,7 @@ static inline DOUBLE days_in_year(DOUBLE year) int y;
if(year != (int)year) - return ret_nan(); + return NAN;
y = year; if(y%4 != 0) return 365; @@ -143,7 +143,7 @@ static inline DOUBLE days_in_year(DOUBLE year) static inline DOUBLE day_from_year(DOUBLE year) { if(year != (int)year) - return ret_nan(); + return NAN;
return floor(365.0*(year-1970) + floor((year-1969)/4) - floor((year-1901)/100) + floor((year-1601)/400)); @@ -192,7 +192,7 @@ static inline DOUBLE year_from_time(DOUBLE time) int y;
if(isnan(time)) - return ret_nan(); + return NAN;
y = 1970 + time/365.25/MS_PER_DAY;
@@ -225,7 +225,7 @@ static inline DOUBLE month_from_time(DOUBLE time) int dwy = day_within_year(time);
if(isnan(time)) - return ret_nan(); + return NAN;
if(0<=dwy && dwy<31) return 0; if(dwy < 59+ily) return 1; @@ -249,7 +249,7 @@ static inline DOUBLE date_from_time(DOUBLE time) int mft = month_from_time(time);
if(isnan(time)) - return ret_nan(); + return NAN;
if(mft==0) return dwy+1; if(mft==1) return dwy-30; @@ -271,7 +271,7 @@ static inline DOUBLE week_day(DOUBLE time) DOUBLE ret;
if(isnan(time)) - return ret_nan(); + return NAN;
ret = fmod(day(time)+4, 7); if(ret<0) ret += 7; @@ -285,7 +285,7 @@ static inline DOUBLE convert_time(int year, SYSTEMTIME st) int set_week_day;
if(st.wMonth == 0) - return ret_nan(); + return NAN;
if(st.wYear != 0) year = st.wYear; @@ -359,7 +359,7 @@ static inline DOUBLE hour_from_time(DOUBLE time) DOUBLE ret;
if(isnan(time)) - return ret_nan(); + return NAN;
ret = fmod(floor(time/MS_PER_HOUR), 24); if(ret<0) ret += 24; @@ -373,7 +373,7 @@ static inline DOUBLE min_from_time(DOUBLE time) DOUBLE ret;
if(isnan(time)) - return ret_nan(); + return NAN;
ret = fmod(floor(time/MS_PER_MINUTE), 60); if(ret<0) ret += 60; @@ -387,7 +387,7 @@ static inline DOUBLE sec_from_time(DOUBLE time) DOUBLE ret;
if(isnan(time)) - return ret_nan(); + return NAN;
ret = fmod(floor(time/1000), 60); if(ret<0) ret += 60; @@ -401,7 +401,7 @@ static inline DOUBLE ms_from_time(DOUBLE time) DOUBLE ret;
if(isnan(time)) - return ret_nan(); + return NAN;
ret = fmod(time, 1000); if(ret<0) ret += 1000; @@ -443,7 +443,7 @@ static inline DOUBLE make_date(DOUBLE day, DOUBLE time) static inline DOUBLE time_clip(DOUBLE time) { if(8.64e15 < time || time < -8.64e15) { - return ret_nan(); + return NAN; }
return floor(time); @@ -2169,7 +2169,7 @@ static inline HRESULT date_parse(BSTR input, double *ret) { else if(input[i] == ')') { nest_level--; if(nest_level<0) { - *ret = ret_nan(); + *ret = NAN; return S_OK; } } @@ -2393,7 +2393,7 @@ static inline HRESULT date_parse(BSTR input, double *ret) { if(set_hour_adjust) *ret = utc(*ret, &di); }else { - *ret = ret_nan(); + *ret = NAN; }
for(i=0; i<sizeof(string_ids)/sizeof(DWORD); i++) diff --git a/dlls/jscript/error.c b/dlls/jscript/error.c index d242ce3..00560db 100644 --- a/dlls/jscript/error.c +++ b/dlls/jscript/error.c @@ -15,6 +15,7 @@ * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ + #include "config.h" #include "wine/port.h"
@@ -238,7 +239,7 @@ static HRESULT error_constr(script_ctx_t *ctx, WORD flags, DISPPARAMS *dp,
hres = to_number(ctx, get_arg(dp, 0), ei, &n); if(FAILED(hres)) /* FIXME: really? */ - n = ret_nan(); + n = NAN; if(isnan(n)) hres = to_string(ctx, get_arg(dp, 0), ei, &msg); if(FAILED(hres)) diff --git a/dlls/jscript/global.c b/dlls/jscript/global.c index 63239c8..3fb169b 100644 --- a/dlls/jscript/global.c +++ b/dlls/jscript/global.c @@ -511,7 +511,7 @@ static HRESULT JSGlobal_parseInt(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, i = char_to_int(*ptr++); }while(i < radix); }else if(empty) { - ret = ret_nan(); + ret = NAN; }
SysFreeString(str); diff --git a/dlls/jscript/jscript.h b/dlls/jscript/jscript.h index dcdd143..c53e1a4 100644 --- a/dlls/jscript/jscript.h +++ b/dlls/jscript/jscript.h @@ -445,13 +445,6 @@ static inline void num_set_nan(VARIANT *v) #endif }
-static inline DOUBLE ret_nan(void) -{ - VARIANT v; - num_set_nan(&v); - return V_R8(&v); -} - static inline void num_set_inf(VARIANT *v, BOOL positive) { V_VT(v) = VT_R8; diff --git a/dlls/jscript/jsutils.c b/dlls/jscript/jsutils.c index d19d71b..6a36613 100644 --- a/dlls/jscript/jsutils.c +++ b/dlls/jscript/jsutils.c @@ -349,7 +349,7 @@ static HRESULT str_to_number(BSTR str, double *ret) ptr++;
if(*ptr) - *ret = ret_nan(); + *ret = NAN; else *ret = neg ? -ret_inf() : ret_inf(); return S_OK; @@ -403,7 +403,7 @@ static HRESULT str_to_number(BSTR str, double *ret) ptr++;
if(*ptr) { - *ret = ret_nan(); + *ret = NAN; return S_OK; }
@@ -419,7 +419,7 @@ HRESULT to_number(script_ctx_t *ctx, VARIANT *v, jsexcept_t *ei, double *ret) { switch(V_VT(v)) { case VT_EMPTY: - *ret = ret_nan(); + *ret = NAN; break; case VT_NULL: *ret = 0; diff --git a/dlls/jscript/lex.c b/dlls/jscript/lex.c index 6842b58..022c06e 100644 --- a/dlls/jscript/lex.c +++ b/dlls/jscript/lex.c @@ -933,7 +933,7 @@ static int cc_token(parser_ctx_t *ctx, void *lval) var = find_cc_var(ctx->script->cc, ctx->ptr, id_len); ctx->ptr += id_len; if(!var || var->is_num) { - *(literal_t**)lval = new_double_literal(ctx, var ? var->u.n : ret_nan()); + *(literal_t**)lval = new_double_literal(ctx, var ? var->u.n : NAN); return tNumericLiteral; }