mirror of
https://github.com/bellard/quickjs.git
synced 2024-11-22 21:58:12 +08:00
Nan bug fix
This commit is contained in:
parent
6e2e68fd08
commit
80f97204cb
13
quickjs.c
13
quickjs.c
@ -14097,23 +14097,28 @@ static no_inline int js_relational_slow(JSContext *ctx, JSValue *sp,
|
|||||||
} else {
|
} else {
|
||||||
d2 = JS_VALUE_GET_INT(op2);
|
d2 = JS_VALUE_GET_INT(op2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isnan(d1) || isnan(d2)) {
|
||||||
|
res = FALSE;
|
||||||
|
} else {
|
||||||
switch(op) {
|
switch(op) {
|
||||||
case OP_lt:
|
case OP_lt:
|
||||||
res = (d1 < d2); /* if NaN return false */
|
res = (d1 < d2);
|
||||||
break;
|
break;
|
||||||
case OP_lte:
|
case OP_lte:
|
||||||
res = (d1 <= d2); /* if NaN return false */
|
res = (d1 <= d2);
|
||||||
break;
|
break;
|
||||||
case OP_gt:
|
case OP_gt:
|
||||||
res = (d1 > d2); /* if NaN return false */
|
res = (d1 > d2);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
case OP_gte:
|
case OP_gte:
|
||||||
res = (d1 >= d2); /* if NaN return false */
|
res = (d1 >= d2);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
done:
|
done:
|
||||||
sp[-2] = JS_NewBool(ctx, res);
|
sp[-2] = JS_NewBool(ctx, res);
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user