Browse Source

Merge pull request #1397 from armink/fix_newlib

 [Components/libc] Add gettimeofday to newlib libc.
Bernard Xiong 7 năm trước cách đây
mục cha
commit
feb275db42

+ 17 - 15
components/libc/compilers/armlibc/time.c

@@ -1,23 +1,25 @@
 #include <sys/time.h>
+#include <rtthread.h>
 
+#if defined(RT_USING_DEVICE) && defined(RT_USING_RTC)
 int gettimeofday(struct timeval *tp, void *ignore)
 {
-	time_t time;
-	rt_device_t device;
+    time_t time;
+    rt_device_t device;
 
-	device = rt_device_find("rtc");
-	if (device != RT_NULL)
-	{
-		rt_device_control(device, RT_DEVICE_CTRL_RTC_GET_TIME, &time);
-		if (tp != RT_NULL)
-		{
-			tp->tv_sec = time;
-			tp->tv_usec = 0;
-		}
+    device = rt_device_find("rtc");
+    if (device != RT_NULL)
+    {
+        rt_device_control(device, RT_DEVICE_CTRL_RTC_GET_TIME, &time);
+        if (tp != RT_NULL)
+        {
+            tp->tv_sec = time;
+            tp->tv_usec = 0;
+        }
 
-		return time;
-	}
+        return time;
+    }
 
-	return 0;
+    return 0;
 }
-
+#endif

+ 17 - 15
components/libc/compilers/dlib/time.c

@@ -1,23 +1,25 @@
 #include <sys/time.h>
+#include <rtthread.h>
 
+#if defined(RT_USING_DEVICE) && defined(RT_USING_RTC)
 int gettimeofday(struct timeval *tp, void *ignore)
 {
-	time_t time;
-	rt_device_t device;
+    time_t time;
+    rt_device_t device;
 
-	device = rt_device_find("rtc");
-	if (device != RT_NULL)
-	{
-		rt_device_control(device, RT_DEVICE_CTRL_RTC_GET_TIME, &time);
-		if (tp != RT_NULL)
-		{
-			tp->tv_sec = time;
-			tp->tv_usec = 0;
-		}
+    device = rt_device_find("rtc");
+    if (device != RT_NULL)
+    {
+        rt_device_control(device, RT_DEVICE_CTRL_RTC_GET_TIME, &time);
+        if (tp != RT_NULL)
+        {
+            tp->tv_sec = time;
+            tp->tv_usec = 0;
+        }
 
-		return time;
-	}
+        return time;
+    }
 
-	return 0;
+    return 0;
 }
-
+#endif

+ 25 - 0
components/libc/compilers/newlib/time.c

@@ -0,0 +1,25 @@
+#include <sys/time.h>
+#include <rtthread.h>
+
+#if defined(RT_USING_DEVICE) && defined(RT_USING_RTC)
+int gettimeofday(struct timeval *tp, void *ignore)
+{
+    time_t time;
+    rt_device_t device;
+
+    device = rt_device_find("rtc");
+    if (device != RT_NULL)
+    {
+        rt_device_control(device, RT_DEVICE_CTRL_RTC_GET_TIME, &time);
+        if (tp != RT_NULL)
+        {
+            tp->tv_sec = time;
+            tp->tv_usec = 0;
+        }
+
+        return time;
+    }
+
+    return 0;
+}
+#endif