/* Copyright (C) 2008 Andreas Baumann This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include "port/sys.h" #define TEST_LOCALTIME_R #include "port/time.c" /* for localtime_r */ #include "port/string.h" /* for memcmp */ #include /* 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( local_time.tm_sec != local_time2.tm_sec || local_time.tm_min != local_time2.tm_min || local_time.tm_hour != local_time2.tm_hour || local_time.tm_mday != local_time2.tm_mday || local_time.tm_mon != local_time2.tm_mon || local_time.tm_year != local_time2.tm_year || local_time.tm_wday != local_time2.tm_wday || local_time.tm_yday != local_time2.tm_yday || local_time.tm_isdst != local_time2.tm_isdst ) return EXIT_FAILURE; return EXIT_SUCCESS; }