Always assign return value to passed pointer in time function.
If the passed t pointer is not a null pointer, always assign the return value to the object it points to, regardless of whether the return value is an error. This is what the GNU C Library does, and this is also the expected behavior according to the latest draft of the C programming language standard (C11 ISO/IEC 9899:201x WG14 N1570, dated 2011-04-12): Signed-off-by: Benoît Thébaudeau <benoit@wsystem.com>
This commit is contained in:
parent
58dd08ee50
commit
f310e8d951
@ -43,11 +43,10 @@ _DEFUN (time, (t),
|
||||
{
|
||||
struct timeval now;
|
||||
|
||||
if (_gettimeofday_r (_REENT, &now, NULL) >= 0)
|
||||
{
|
||||
if (t)
|
||||
*t = now.tv_sec;
|
||||
return now.tv_sec;
|
||||
}
|
||||
return -1;
|
||||
if (_gettimeofday_r (_REENT, &now, NULL) < 0)
|
||||
now.tv_sec = (time_t) -1;
|
||||
|
||||
if (t)
|
||||
*t = now.tv_sec;
|
||||
return now.tv_sec;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user