diff --git a/src/kits/locale/TimeZone.cpp b/src/kits/locale/TimeZone.cpp index dfb4066f63..f08e04100f 100644 --- a/src/kits/locale/TimeZone.cpp +++ b/src/kits/locale/TimeZone.cpp @@ -78,10 +78,10 @@ BTimeZone::SetTo(const char* zoneCode) int32_t rawOffset; int32_t dstOffset; UDate nowMillis = 1000 * (double)time(NULL); + UErrorCode error = U_ZERO_ERROR; icuTimeZone->getOffset(nowMillis, FALSE, rawOffset, dstOffset, error); - - if (error != U_ZERO_ERROR) { + if (!U_SUCCESS(error)) { fOffsetFromGMT = 0; fInitStatus = B_ERROR; } else { @@ -90,5 +90,7 @@ BTimeZone::SetTo(const char* zoneCode) fInitStatus = B_OK; } + delete icuTimeZone; + return fInitStatus; }