in FreeRTOS-Plus-POSIX/source/FreeRTOS_POSIX_utils.c [323:367]
int UTILS_TimespecCompare( const struct timespec * const x,
const struct timespec * const y )
{
int iStatus = 0;
/* Check parameters */
if( ( x == NULL ) && ( y == NULL ) )
{
iStatus = 0;
}
else if( y == NULL )
{
iStatus = 1;
}
else if( x == NULL )
{
iStatus = -1;
}
else if( x->tv_sec > y->tv_sec )
{
iStatus = 1;
}
else if( x->tv_sec < y->tv_sec )
{
iStatus = -1;
}
else
{
/* seconds are equal compare nano seconds */
if( x->tv_nsec > y->tv_nsec )
{
iStatus = 1;
}
else if( x->tv_nsec < y->tv_nsec )
{
iStatus = -1;
}
else
{
iStatus = 0;
}
}
return iStatus;
}