Bug#444597: mktime returns 0x7fffffff for the year 2057
Package: libc6
Version: 2.3.6.ds1-13etch2
mktime returns 0x7fffffff for the year 2057.
I expect it fails on 32-bit time_t environment.
% cat t.c
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
int main()
{
struct tm tm;
time_t t;
printf("sizeof(time_t): %d\n", sizeof(time_t));
printf("sizeof(long): %d\n", sizeof(long));
tm.tm_sec = 0;
tm.tm_min = 59;
tm.tm_hour = 23;
tm.tm_mday = 31;
tm.tm_mon = 12 - 1;
tm.tm_year = 2057 - 1900;
tm.tm_isdst = -1;
t = mktime(&tm);
if (t == (time_t)(-1)) { printf("mktime failed\n"); exit(1); }
printf("result: %ld (%lx)\n", t, t);
printf("isdst: %d\n", tm.tm_isdst);
return 0;
}
% gcc -Wall t.c
% ./a.out
sizeof(time_t): 4
sizeof(long): 4
result: 2147483647 (7fffffff)
isdst: 0
% uname -a
Linux nute 2.6.18-5-686 #1 SMP Thu Aug 30 02:19:07 UTC 2007 i686 GNU/Linux
% dpkg -l|grep libc6
ii libc6 2.3.6.ds1-13etch2 GNU C Library: Shared libraries
ii libc6-dev 2.3.6.ds1-13etch2 GNU C Library: Development Libraries and Hea
ii libc6-i686 2.3.6.ds1-13etch2 GNU C Library: Shared libraries [i686 optimi
--
Tanaka Akira
Reply to: