[bsp][stm32] Replace gmtime with gmtime_r
@@ -65,21 +65,21 @@ static rt_err_t set_rtc_time_stamp(time_t time_stamp)
{
RTC_TimeTypeDef RTC_TimeStruct = {0};
RTC_DateTypeDef RTC_DateStruct = {0};
- struct tm *p_tm;
+ struct tm p_tm = {0};
- p_tm = gmtime(&time_stamp);
- if (p_tm->tm_year < 100)
+ gmtime_r(&time_stamp, &p_tm);
+ if (p_tm.tm_year < 100)
{
return -RT_ERROR;
}
- RTC_TimeStruct.Seconds = p_tm->tm_sec ;
- RTC_TimeStruct.Minutes = p_tm->tm_min ;
- RTC_TimeStruct.Hours = p_tm->tm_hour;
- RTC_DateStruct.Date = p_tm->tm_mday;
- RTC_DateStruct.Month = p_tm->tm_mon + 1 ;
- RTC_DateStruct.Year = p_tm->tm_year - 100;
- RTC_DateStruct.WeekDay = p_tm->tm_wday + 1;
+ RTC_TimeStruct.Seconds = p_tm.tm_sec ;
+ RTC_TimeStruct.Minutes = p_tm.tm_min ;
+ RTC_TimeStruct.Hours = p_tm.tm_hour;
+ RTC_DateStruct.Date = p_tm.tm_mday;
+ RTC_DateStruct.Month = p_tm.tm_mon + 1 ;
+ RTC_DateStruct.Year = p_tm.tm_year - 100;
+ RTC_DateStruct.WeekDay = p_tm.tm_wday + 1;
if (HAL_RTC_SetTime(&RTC_Handler, &RTC_TimeStruct, RTC_FORMAT_BIN) != HAL_OK)
{
