author | zecke <zecke> | 2002-09-24 13:37:32 (UTC) |
---|---|---|
committer | zecke <zecke> | 2002-09-24 13:37:32 (UTC) |
commit | 70328f952e475eb7eb0bc961420b875eefd05211 (patch) (side-by-side diff) | |
tree | b9270f878b00dd8f8d525a82897f984ba6f5a484 | |
parent | 5d29b14fc85d99d45a32fdaed27653c6f271a5ce (diff) | |
download | opie-70328f952e475eb7eb0bc961420b875eefd05211.zip opie-70328f952e475eb7eb0bc961420b875eefd05211.tar.gz opie-70328f952e475eb7eb0bc961420b875eefd05211.tar.bz2 |
make thetime
not a pointer
and memset it
this makes valgrind shut up
-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 @@ -130,13 +130,13 @@ QDateTime TimeConversion::fromISO8601( const QCString &s ) #if defined(_OS_WIN32) || defined (Q_OS_WIN32) || defined (Q_OS_WIN64)
_tzset();
#else
tzset();
#endif
- struct tm *thetime = new tm;
+ struct tm thetime;
QCString str = s.copy();
str.replace(QRegExp("-"), "" );
str.replace(QRegExp(":"), "" );
str.stripWhiteSpace();
str = str.lower();
@@ -149,29 +149,30 @@ QDateTime TimeConversion::fromISO8601( const QCString &s ) timestr = str.mid( i+1 );
} else {
date = str;
}
// 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() );
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:
break;
}
int tzoff = 0;
@@ -203,17 +204,17 @@ QDateTime TimeConversion::fromISO8601( const QCString &s ) inLocalTime = TRUE;
}
// get the time:
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;
}
int tzloc = 0;
time_t tmp = time( 0 );
@@ -224,14 +225,14 @@ QDateTime TimeConversion::fromISO8601( const QCString &s ) struct tm *ut = gmtime( &tmp );
tzloc -= mktime( ut );
}
// qDebug("time: %d %d %d, tzloc=%d, tzoff=%d", thetime->tm_hour, thetime->tm_min, thetime->tm_sec,
// tzloc, tzoff );
- tmp = mktime( thetime );
+ tmp = mktime( &thetime );
tmp += 60*(-tzloc + tzoff);
- delete thetime;
+
return fromUTC( tmp );
}
|