-rw-r--r-- | library/backend/timeconversion.cpp | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/library/backend/timeconversion.cpp b/library/backend/timeconversion.cpp index ef7762d..3c25922 100644 --- a/library/backend/timeconversion.cpp +++ b/library/backend/timeconversion.cpp @@ -134,5 +134,5 @@ QDateTime TimeConversion::fromISO8601( const QCString &s ) #endif
- struct tm *thetime = new tm;
+ struct tm thetime;
QCString str = s.copy();
@@ -153,10 +153,11 @@ QDateTime TimeConversion::fromISO8601( const QCString &s ) // qDebug("--- parsing ISO time---");
- thetime->tm_year = 100;
- thetime->tm_mon = 0;
- thetime->tm_mday = 0;
- thetime->tm_hour = 0;
- thetime->tm_min = 0;
- thetime->tm_sec = 0;
+ memset( &thetime, 0, sizeof(tm) );
+ thetime.tm_year = 100;
+ thetime.tm_mon = 0;
+ thetime.tm_mday = 0;
+ thetime.tm_hour = 0;
+ thetime.tm_min = 0;
+ thetime.tm_sec = 0;
// qDebug("date = %s", date.data() );
@@ -164,10 +165,10 @@ QDateTime TimeConversion::fromISO8601( const QCString &s ) switch( date.length() ) {
case 8:
- thetime->tm_mday = date.right( 2 ).toInt();
+ thetime.tm_mday = date.right( 2 ).toInt();
case 6:
- thetime->tm_mon = date.mid( 4, 2 ).toInt() - 1;
+ thetime.tm_mon = date.mid( 4, 2 ).toInt() - 1;
case 4:
- thetime->tm_year = date.left( 4 ).toInt();
- thetime->tm_year -= 1900;
+ thetime.tm_year = date.left( 4 ).toInt();
+ thetime.tm_year -= 1900;
break;
default:
@@ -207,9 +208,9 @@ QDateTime TimeConversion::fromISO8601( const QCString &s ) switch( timestr.length() ) {
case 6:
- thetime->tm_sec = timestr.mid( 4 ).toInt();
+ thetime.tm_sec = timestr.mid( 4 ).toInt();
case 4:
- thetime->tm_min = timestr.mid( 2, 2 ).toInt();
+ thetime.tm_min = timestr.mid( 2, 2 ).toInt();
case 2:
- thetime->tm_hour = timestr.left( 2 ).toInt();
+ thetime.tm_hour = timestr.left( 2 ).toInt();
default:
break;
@@ -228,8 +229,8 @@ QDateTime TimeConversion::fromISO8601( const QCString &s ) // tzloc, tzoff );
- tmp = mktime( thetime );
+ tmp = mktime( &thetime );
tmp += 60*(-tzloc + tzoff);
- delete thetime;
+
return fromUTC( tmp );
|