@@ -119,7 +119,7 @@ time_t gsm340_scts(uint8_t *scts)
struct tm tm;
uint8_t yr, tz;
int ofs;
- time_t timestamp;
+ time_t timestamp, gmtoffset;
memset(&tm, 0x00, sizeof(struct tm));
@@ -151,12 +151,12 @@ time_t gsm340_scts(uint8_t *scts)
if (timestamp < 0)
return -1;
+ gmtoffset = gmtoffset_from_ts(timestamp);
+
/* Take into account timezone offset */
timestamp -= ofs;
-#ifdef HAVE_TM_GMTOFF_IN_TM
/* Remove an artificial timezone offset, introduced by mktime() */
- timestamp += tm.tm_gmtoff;
-#endif
+ timestamp += gmtoffset;
return timestamp;
}