未验证 提交 4d968a87 编写于 作者: armink_ztl's avatar armink_ztl 提交者: GitHub

Merge pull request #1 from mysterywolf/armink

修改get_timeval的错误返回形式
......@@ -183,10 +183,12 @@ char* ctime(const time_t *tim_p)
}
RTM_EXPORT(ctime);
static void get_timeval(struct timeval *tv)
/*-1 failure; 1 success*/
static int get_timeval(struct timeval *tv)
{
if (tv == RT_NULL)
return;
return -1;
/* default is not available */
tv->tv_sec = -1;
/* default is 0 */
......@@ -217,8 +219,11 @@ static void get_timeval(struct timeval *tv)
{
/* LOG_W will cause a recursive printing if ulog timestamp function is turned on */
rt_kprintf("Cannot find a RTC device to provide time!\r\n");
errno = ENOSYS;
tv->tv_sec = 0;
return -1;
}
return 1;
}
/**
......@@ -234,13 +239,19 @@ RT_WEAK time_t time(time_t *t)
{
struct timeval now;
get_timeval(&now);
if (t)
if(get_timeval(&now)>0)
{
*t = now.tv_sec;
if (t)
{
*t = now.tv_sec;
}
return now.tv_sec;
}
else
{
errno = EFAULT;
return -1;
}
return now.tv_sec;
}
RTM_EXPORT(time);
......@@ -265,13 +276,13 @@ int stime(const time_t *t)
else
{
LOG_W("Cannot find a RTC device to provide time!");
errno = ENOSYS;
errno = EFAULT;
return -1;
}
return 0;
#else
LOG_W("Cannot find a RTC device to provide time!");
errno = ENOSYS;
errno = EFAULT;
return -1;
#endif /* RT_USING_RTC */
}
......@@ -355,15 +366,13 @@ RTM_EXPORT(timegm);
/* TODO: timezone */
int gettimeofday(struct timeval *tv, struct timezone *tz)
{
get_timeval(tv);
if (tv != RT_NULL && tv->tv_sec != (time_t) -1)
if (tv != RT_NULL && get_timeval(tv)>0)
{
return 0;
}
else
{
errno = ENOSYS;
errno = EFAULT;
return -1;
}
}
......@@ -374,11 +383,19 @@ int settimeofday(const struct timeval *tv, const struct timezone *tz)
{
if (tv != RT_NULL)
{
return stime((const time_t *)&tv->tv_sec);
if(tv->tv_sec >= 0 && tv->tv_usec >= 0)
{
return stime((const time_t *)&tv->tv_sec);
}
else
{
errno = EINVAL;
return -1;
}
}
else
{
errno = ENOSYS;
errno = EFAULT;
return -1;
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册