njs_date_constructor(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs,
njs_index_t unused)
{
- double num;
- int64_t time, values[8];
+ double num, time;
+ int64_t values[8];
nxt_uint_t i, n;
njs_date_t *date;
struct tm tm;
num = args[i].data.u.number;
if (njs_is_nan(num)) {
- nargs = 0;
- break;
+ time = num;
+ goto done;
}
values[i] = num;
}
}
+ done:
+
date = nxt_mem_cache_alloc(vm->mem_cache_pool, sizeof(njs_date_t));
if (nxt_slow_path(date == NULL)) {
return NXT_ERROR;
{ nxt_string("var o = Object.create(null); '__proto__' in o"),
nxt_string("false") },
+ { nxt_string("var d = new Date(''); d +' '+ d.getTime()"),
+ nxt_string("Invalid Date NaN") },
+
{ nxt_string("var d = new Date(1308895200000); d.getTime()"),
nxt_string("1308895200000") },