[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:21:42
Message-ID: 1128115302.303373.26818.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 465801 by staikos:

one more case of missing NAN check


 M  +11 -2     date_object.cpp  


--- trunk/KDE/kdelibs/kjs/date_object.cpp #465800:465801
@@ -604,11 +604,20 @@
   if (id == Parse) {
     return Number(parseDate(args[0].toString(exec)));
   } else { // UTC
+    int n = args.size();
+    if (isNaN(args[0].toNumber(exec))
+        || isNaN(args[1].toNumber(exec))
+        || (n >= 3 && isNaN(args[2].toNumber(exec)))
+        || (n >= 4 && isNaN(args[3].toNumber(exec)))
+        || (n >= 5 && isNaN(args[4].toNumber(exec)))
+        || (n >= 6 && isNaN(args[5].toNumber(exec)))
+        || (n >= 7 && isNaN(args[6].toNumber(exec)))) {
+      return Number(NaN);
+    }
+
     struct tm t;
     memset(&t, 0, sizeof(t));
-    int n = args.size();
     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 = (n >= 3) ? args[2].toInt32(exec) : 1;
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic