workaround for common programming error involving ctime and localtime
Paul Eggert
yata!eggert at twinsun.com
Sun May 8 19:20:22 UTC 1994
The following patch lets the tz package work around
a common programming error when using ctime and localtime.
===================================================================
RCS file: RCS/localtime.c,v
retrieving revision 1994.6.1.1
retrieving revision 1994.6.1.2
diff -c -r1994.6.1.1 -r1994.6.1.2
*** localtime.c 1994/05/05 16:24:49 1994.6.1.1
--- localtime.c 1994/05/09 10:16:11 1994.6.1.2
***************
*** 1136,1142 ****
ctime(timep)
const time_t * const timep;
{
! return asctime(localtime(timep));
}
/*
--- 1136,1151 ----
ctime(timep)
const time_t * const timep;
{
! struct tm tm;
!
! /*
! ** The following is equivalent to `return asctime(localtime(timep));',
! ** except it does not modify localtime's static storage,
! ** and thus it works around all-too-common bugs like
! ** `struct tm *p = localtime(&t1); puts(ctime(&t2)); return p->tm_year'.
! */
! localsub(timep, 0L, &tm);
! return asctime(&tm);
}
/*
More information about the tz
mailing list