@@ -404,10 +404,11 @@ void RTCZero::setAlarmEpoch(uint32_t ts)
404
404
}
405
405
406
406
time_t t = ts;
407
- struct tm * tmp = gmtime (&t) ;
407
+ struct tm tmp;
408
408
409
- setAlarmDate (tmp->tm_mday , tmp->tm_mon + 1 , tmp->tm_year - EPOCH_TIME_YEAR_OFF);
410
- setAlarmTime (tmp->tm_hour , tmp->tm_min , tmp->tm_sec );
409
+ gmtime_r (&t, &tmp);
410
+ setAlarmDate (tmp.tm_mday , tmp.tm_mon + 1 , tmp.tm_year - EPOCH_TIME_YEAR_OFF);
411
+ setAlarmTime (tmp.tm_hour , tmp.tm_min , tmp.tm_sec );
411
412
}
412
413
}
413
414
@@ -419,16 +420,18 @@ void RTCZero::setEpoch(uint32_t ts)
419
420
}
420
421
421
422
time_t t = ts;
422
- struct tm * tmp = gmtime (&t);
423
+ struct tm tmp;
424
+
425
+ gmtime_r (&t, &tmp);
423
426
424
427
RTC_MODE2_CLOCK_Type clockTime;
425
428
426
- clockTime.bit .YEAR = tmp-> tm_year - EPOCH_TIME_YEAR_OFF;
427
- clockTime.bit .MONTH = tmp-> tm_mon + 1 ;
428
- clockTime.bit .DAY = tmp-> tm_mday ;
429
- clockTime.bit .HOUR = tmp-> tm_hour ;
430
- clockTime.bit .MINUTE = tmp-> tm_min ;
431
- clockTime.bit .SECOND = tmp-> tm_sec ;
429
+ clockTime.bit .YEAR = tmp. tm_year - EPOCH_TIME_YEAR_OFF;
430
+ clockTime.bit .MONTH = tmp. tm_mon + 1 ;
431
+ clockTime.bit .DAY = tmp. tm_mday ;
432
+ clockTime.bit .HOUR = tmp. tm_hour ;
433
+ clockTime.bit .MINUTE = tmp. tm_min ;
434
+ clockTime.bit .SECOND = tmp. tm_sec ;
432
435
433
436
RTC->MODE2 .CLOCK .reg = clockTime.reg ;
434
437
0 commit comments