1234567891011121314151617181920212223242526272829303132 |
- #include <errno.h>
- #include <limits.h>
- #include <stdio.h>
- #include <time.h>
- static int
- do_test (void)
- {
- int result = 0;
- time_t t = time (NULL);
- struct tm *tp = localtime (&t);
- tp->tm_year = 10000 - 1900;
- char buf[1000];
- errno = 0;
- buf[26] = '\xff';
- char *s = asctime_r (tp, buf);
- if (s != NULL || errno != EOVERFLOW)
- {
- puts ("asctime_r did not fail correctly");
- result = 1;
- }
- if (buf[26] != '\xff')
- {
- puts ("asctime_r overwrote 27th byte in buffer");
- result = 1;
- }
- return result;
- }
- #define TEST_FUNCTION do_test ()
- #include "../test-skeleton.c"
|