summaryrefslogtreecommitdiff
path: root/components/libc/compilers
diff options
context:
space:
mode:
authorMeco Man <[email protected]>2021-09-18 11:37:19 -0400
committerMeco Man <[email protected]>2021-09-18 16:46:53 -0400
commit71f48266ffe8c51660a3a5038cb84fd0ec4b5ba2 (patch)
tree3d4c3dc24326a0f2999c5d2a5b657d2852fbeaf5 /components/libc/compilers
parent163c0597b8a3a900bb8720cdd71284524b52a853 (diff)
[libc][time] 修复数据类型报警
Diffstat (limited to 'components/libc/compilers')
-rw-r--r--components/libc/compilers/common/sys/time.h39
-rw-r--r--components/libc/compilers/common/time.c21
2 files changed, 31 insertions, 29 deletions
diff --git a/components/libc/compilers/common/sys/time.h b/components/libc/compilers/common/sys/time.h
index ecf6e85ac6..d14905ebfb 100644
--- a/components/libc/compilers/common/sys/time.h
+++ b/components/libc/compilers/common/sys/time.h
@@ -12,7 +12,8 @@
#define __SYS_TIME_H__
#include <rtconfig.h>
-#include <rtdef.h>
+#include <sys/types.h>
+#include <stdint.h>
#include <time.h>
#ifdef __cplusplus
@@ -32,22 +33,19 @@ extern "C" {
#define DST_TUR 9 /* Turkey */
#define DST_AUSTALT 10 /* Australian style with shift in 1986 */
-struct timezone {
- int tz_minuteswest; /* minutes west of Greenwich */
- int tz_dsttime; /* type of dst correction */
+struct timezone
+{
+ int tz_minuteswest; /* minutes west of Greenwich */
+ int tz_dsttime; /* type of dst correction */
};
-void rt_tz_set(rt_int8_t tz);
-rt_int8_t rt_tz_get(void);
-rt_int8_t rt_tz_is_dst(void);
-
/*
* Structure returned by gettimeofday(2) system call,
* and used in other calls.
*/
#ifndef _TIMEVAL_DEFINED
#define _TIMEVAL_DEFINED
-#if !(defined(_WIN32))
+#if !defined(_WIN32)
struct timeval
{
time_t tv_sec; /* seconds */
@@ -56,6 +54,16 @@ struct timeval
#endif
#endif /* _TIMEVAL_DEFINED */
+#if !(defined(__GNUC__) && !defined(__ARMCC_VERSION)/*GCC*/) && \
+ !(defined(__ICCARM__) && (__VER__ >= 8010001)) && \
+ !defined(_WIN32)
+struct timespec
+{
+ time_t tv_sec; /* seconds */
+ long tv_nsec; /* and nanoseconds */
+};
+#endif
+
int stime(const time_t *t);
time_t timegm(struct tm * const t);
int gettimeofday(struct timeval *tv, struct timezone *tz);
@@ -65,15 +73,6 @@ struct tm *gmtime_r(const time_t *timep, struct tm *r);
#endif
#ifdef RT_USING_POSIX
-#include <sys/types.h>
-
-#if !(defined(__GNUC__) && !defined(__ARMCC_VERSION)/*GCC*/) && !(defined(__ICCARM__) && (__VER__ >= 8010001)) && !defined(_WIN32)
-struct timespec {
- time_t tv_sec; /* seconds */
- long tv_nsec; /* and nanoseconds */
-};
-#endif
-
/* POSIX clock and timer */
#define MILLISECOND_PER_SECOND 1000UL
#define MICROSECOND_PER_SECOND 1000000UL
@@ -106,6 +105,10 @@ int clock_settime (clockid_t clockid, const struct timespec *tp);
int rt_timespec_to_tick(const struct timespec *time);
#endif /* RT_USING_POSIX */
+void tz_set(int8_t tz);
+int8_t tz_get(void);
+int8_t tz_is_dst(void);
+
#ifdef __cplusplus
}
#endif
diff --git a/components/libc/compilers/common/time.c b/components/libc/compilers/common/time.c
index 50f6d4c71e..7aa8d9300b 100644
--- a/components/libc/compilers/common/time.c
+++ b/components/libc/compilers/common/time.c
@@ -199,7 +199,7 @@ struct tm *gmtime_r(const time_t *timep, struct tm *r)
r->tm_mon = i;
r->tm_mday += work - __spm[i];
- r->tm_isdst = rt_tz_is_dst();
+ r->tm_isdst = tz_is_dst();
return r;
}
RTM_EXPORT(gmtime_r);
@@ -215,7 +215,7 @@ struct tm* localtime_r(const time_t* t, struct tm* r)
{
time_t local_tz;
- local_tz = *t + rt_tz_get() * 3600;
+ local_tz = *t + tz_get() * 3600;
return gmtime_r(&local_tz, r);
}
RTM_EXPORT(localtime_r);
@@ -232,7 +232,7 @@ time_t mktime(struct tm * const t)
time_t timestamp;
timestamp = timegm(t);
- timestamp = timestamp - 3600 * rt_tz_get();
+ timestamp = timestamp - 3600 * tz_get();
return timestamp;
}
RTM_EXPORT(mktime);
@@ -423,7 +423,7 @@ int gettimeofday(struct timeval *tv, struct timezone *tz)
if(tz != RT_NULL)
{
tz->tz_dsttime = DST_NONE;
- tz->tz_minuteswest = -(rt_tz_get() * 60);
+ tz->tz_minuteswest = -(tz_get() * 60);
}
if (tv != RT_NULL && get_timeval(tv) == RT_EOK)
@@ -446,7 +446,6 @@ int settimeofday(const struct timeval *tv, const struct timezone *tz)
* Thus, the following is purely of historic interest.
*/
if (tv != RT_NULL
- && tv->tv_sec >= 0
&& tv->tv_usec >= 0
&& set_timeval((struct timeval *)tv) == RT_EOK)
{
@@ -676,22 +675,22 @@ RTM_EXPORT(rt_timespec_to_tick);
#define RT_LIBC_DEFAULT_TIMEZONE 8
#endif
-static volatile rt_int8_t rt_current_timezone = RT_LIBC_DEFAULT_TIMEZONE;
+static volatile int8_t _current_timezone = RT_LIBC_DEFAULT_TIMEZONE;
-void rt_tz_set(rt_int8_t tz)
+void tz_set(int8_t tz)
{
register rt_base_t level;
level = rt_hw_interrupt_disable();
- rt_current_timezone = tz;
+ _current_timezone = tz;
rt_hw_interrupt_enable(level);
}
-rt_int8_t rt_tz_get(void)
+int8_t tz_get(void)
{
- return rt_current_timezone;
+ return _current_timezone;
}
-rt_int8_t rt_tz_is_dst(void)
+int8_t tz_is_dst(void)
{
return 0;
}