From ce817836c0ddc4038fa7fe4e38794b0d93608041 Mon Sep 17 00:00:00 2001 From: Christophe Dumez Date: Sat, 1 May 2010 17:40:14 +0000 Subject: [PATCH] Made Datetime parsing more reliable --- src/misc.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/misc.cpp b/src/misc.cpp index f21a49cce..433ba04b8 100644 --- a/src/misc.cpp +++ b/src/misc.cpp @@ -423,9 +423,15 @@ QString misc::magnetUriToHash(QString magnet_uri) { } QString misc::boostTimeToQString(const boost::optional boostDate) { - if(!boostDate) return tr("Unknown"); + if(!boostDate || !boostDate.is_initialized() || boostDate->is_not_a_date_time()) return tr("Unknown"); struct std::tm tm = boost::posix_time::to_tm(*boostDate); - return QDateTime::fromTime_t(mktime(&tm)).toString(Qt::DefaultLocaleLongDate); + time_t t = mktime(&tm); + if(t < 0) + return tr("Unknown"); + QDateTime dt = QDateTime::fromTime_t(t); + if(dt.isNull() || !dt.isValid()) + return tr("Unknown"); + return dt.toString(Qt::DefaultLocaleLongDate); } // Replace ~ in path