summaryrefslogtreecommitdiff
path: root/tests/port/test_localtime_r.c
blob: c56821cb1c4b9d5340df6b3d0229c2ede3f07297 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "port/sys.h"

#define TEST_LOCALTIME_R
#include "port/time.c"		/* for localtime_r */

#include "port/string.h"	/* for memcmp */

#include <stdlib.h>		/* for exit, EXIT_SUCCESS, free */

int main( void ) {
	time_t cur_time;
	struct tm local_time;
	struct tm local_time2;

	time( &cur_time );
	if( cur_time < 0 ) return EXIT_FAILURE;

	if( localtime_r( &cur_time, &local_time ) == NULL ) return EXIT_FAILURE;
	if( wolf_port_localtime_r( &cur_time, &local_time2 ) == NULL ) return EXIT_FAILURE;
	if( memcmp( &local_time, &local_time2, sizeof( struct tm ) ) != 0 ) return EXIT_FAILURE;

	return EXIT_SUCCESS;
}