Ver código fonte

Merge pull request #5119 from iysheng/replace_gmtime

[bsp][stm32] Replace gmtime with gmtime_r
Bernard Xiong 3 anos atrás
pai
commit
edea2b38d2
1 arquivos alterados com 10 adições e 10 exclusões
  1. 10 10
      bsp/stm32/libraries/HAL_Drivers/drv_rtc.c

+ 10 - 10
bsp/stm32/libraries/HAL_Drivers/drv_rtc.c

@@ -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)
     {