[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdelibs/kjs
From: George Staikos <staikos () kde ! org>
Date: 2005-09-30 21:15:17
Message-ID: 1128114917.345395.26533.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 465795 by staikos:
merge NAN support from jscore. Have not run regression on this yet, but I'm
pretty sure it's safe since it's fine in jscore and looks sane. Harri: safe
to backport to 3.5 and 3.4?
M +22 -13 date_object.cpp
--- trunk/KDE/kdelibs/kjs/date_object.cpp #465794:465795
@@ -535,19 +535,28 @@
else
value = prim.toNumber(exec);
} else {
- struct tm t;
- memset(&t, 0, sizeof(t));
- int year = args[0].toInt32(exec);
- // TODO: check for NaN
- t.tm_year = (year >= 0 && year <= 99) ? year : year - 1900;
- t.tm_mon = args[1].toInt32(exec);
- t.tm_mday = (numArgs >= 3) ? args[2].toInt32(exec) : 1;
- t.tm_hour = (numArgs >= 4) ? args[3].toInt32(exec) : 0;
- t.tm_min = (numArgs >= 5) ? args[4].toInt32(exec) : 0;
- t.tm_sec = (numArgs >= 6) ? args[5].toInt32(exec) : 0;
- t.tm_isdst = -1;
- int ms = (numArgs >= 7) ? args[6].toInt32(exec) : 0;
- value = makeTime(&t, ms, false);
+ if (isNaN(args[0].toNumber(exec))
+ || isNaN(args[1].toNumber(exec))
+ || (numArgs >= 3 && isNaN(args[2].toNumber(exec)))
+ || (numArgs >= 4 && isNaN(args[3].toNumber(exec)))
+ || (numArgs >= 5 && isNaN(args[4].toNumber(exec)))
+ || (numArgs >= 6 && isNaN(args[5].toNumber(exec)))
+ || (numArgs >= 7 && isNaN(args[6].toNumber(exec)))) {
+ value = NaN;
+ } else {
+ struct tm t;
+ memset(&t, 0, sizeof(t));
+ int year = args[0].toInt32(exec);
+ t.tm_year = (year >= 0 && year <= 99) ? year : year - 1900;
+ t.tm_mon = args[1].toInt32(exec);
+ t.tm_mday = (numArgs >= 3) ? args[2].toInt32(exec) : 1;
+ t.tm_hour = (numArgs >= 4) ? args[3].toInt32(exec) : 0;
+ t.tm_min = (numArgs >= 5) ? args[4].toInt32(exec) : 0;
+ t.tm_sec = (numArgs >= 6) ? args[5].toInt32(exec) : 0;
+ t.tm_isdst = -1;
+ int ms = (numArgs >= 7) ? args[6].toInt32(exec) : 0;
+ value = makeTime(&t, ms, false);
+ }
}
Object proto = exec->lexicalInterpreter()->builtinDatePrototype();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic