[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdelibs/kjs
From: Harri Porten <porten () kde ! org>
Date: 2005-04-24 12:14:03
Message-ID: 20050424121403.D17AC62B () office ! kde ! org
[Download RAW message or body]
CVS commit by porten:
correctly handle large year numbers in "MM/DD/YYYY" formats
also removed code that would emit warnings on previously out-of-range years
M +5 -0 ChangeLog 1.63
M +2 -17 date_object.cpp 1.100
--- kdelibs/kjs/ChangeLog #1.62:1.63
@@ -1,2 +1,7 @@
+2005-04-24 Harri Porten <porten@kde.org>
+
+ * date_object.cpp (KRFCDate_parseDate): correctly handle large
+ year numbers in "MM/DD/YYYY" formats
+
2005-04-17 Harri Porten <porten@kde.org>
--- kdelibs/kjs/date_object.cpp #1.99:1.100
@@ -615,20 +615,4 @@ double KJS::parseDate(const UString &u)
#endif
double /*time_t*/ seconds = KRFCDate_parseDate( u );
-#ifdef KJS_VERBOSE
- fprintf(stderr,"KRFCDate_parseDate returned seconds=%g\n",seconds);
- bool withinLimits = true;
- if ( sizeof(time_t) == 4 )
- {
- int limit = ((time_t)-1 < 0) ? 2038 : 2115;
- if ( seconds > (limit-1970) * 365.25 * 86400 ) {
- fprintf(stderr, "date above time_t limit. Year seems to be %d\n", \
(int)(seconds/(365.25*86400)+1970));
- withinLimits = false;
- }
- }
- if ( withinLimits ) {
- time_t lsec = (time_t)seconds;
- fprintf(stderr, "this is: %s\n", ctime(&lsec));
- }
-#endif
return seconds == -1 ? NaN : seconds * 1000.0;
@@ -1003,5 +987,6 @@ double KJS::KRFCDate_parseDate(const USt
}
- return mktime(&t);
+ // better not use mktime() as it can't handle the full year range
+ return makeTime(&t, 0, false) / 1000.0;
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic