diff options
Diffstat (limited to 'time/bug-mktime4.c')
-rw-r--r-- | time/bug-mktime4.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/time/bug-mktime4.c b/time/bug-mktime4.c new file mode 100644 index 0000000..14d04c6 --- /dev/null +++ b/time/bug-mktime4.c @@ -0,0 +1,27 @@ +#include <time.h> +#include <errno.h> +#include <limits.h> +#include <stdio.h> +#include <string.h> + +static int +do_test (void) +{ + struct tm tm = { .tm_year = INT_MIN, .tm_mon = INT_MIN, .tm_mday = INT_MIN, + .tm_hour = INT_MIN, .tm_min = INT_MIN, .tm_sec = INT_MIN }; + errno = 0; + time_t tt = mktime (&tm); + if (tt != -1) + { + printf ("mktime() should have returned -1, returned %ld\n", (long int) tt); + return 1; + } + if (errno != EOVERFLOW) + { + printf ("mktime() returned -1, errno should be %d (EOVERFLOW) but is %d (%s)\n", EOVERFLOW, errno, strerror(errno)); + return 1; + } + return 0; +} + +#include "support/test-driver.c" |