mirror of
https://github.com/python/cpython
synced 2024-09-20 18:31:31 +00:00
Instead of calling mktime(), which has all sorts of unwanted side
effects, simply zero out the struct tm buffer before using it; this should take care of the BSD folks' concern just as well.
This commit is contained in:
parent
d30dc0a55e
commit
1f41f846a3
|
@ -304,6 +304,8 @@ time_strftime(self, args)
|
|||
char *outbuf = 0;
|
||||
int i;
|
||||
|
||||
memset((ANY *) &buf, '\0', sizeof(buf));
|
||||
|
||||
if (!PyArg_ParseTuple(args, "s(iiiiiiiii)",
|
||||
&fmt,
|
||||
&(buf.tm_year),
|
||||
|
@ -321,12 +323,6 @@ time_strftime(self, args)
|
|||
buf.tm_mon--;
|
||||
buf.tm_wday = (buf.tm_wday + 1) % 7;
|
||||
buf.tm_yday--;
|
||||
#ifdef HAVE_MKTIME
|
||||
/* This call is only there to adjust the numbers to be within
|
||||
bounds. When we don't have mktime(), we say the caller is
|
||||
responsible for that... */
|
||||
(void) mktime(&buf);
|
||||
#endif
|
||||
/* I hate these functions that presume you know how big the output
|
||||
* will be ahead of time...
|
||||
*/
|
||||
|
|
Loading…
Reference in a new issue