tmtotuple(): use time_t for gmtoff (#1276)

timegm() return type is time_t, not int. Use time_t to prevent the
following compiler warning on Windows:

timemodule.c: warning C4244: '=': conversion from 'time_t' to 'int',
              possible loss of data
This commit is contained in:
Victor Stinner 2017-04-25 01:22:42 +02:00 committed by GitHub
parent 4bcfa3a236
commit 0d659e5614
1 changed files with 3 additions and 3 deletions

View File

@ -278,7 +278,7 @@ static PyTypeObject StructTimeType;
static PyObject *
tmtotuple(struct tm *p
#ifndef HAVE_STRUCT_TM_TM_ZONE
, const char *zone, int gmtoff
, const char *zone, time_t gmtoff
#endif
)
{
@ -304,7 +304,7 @@ tmtotuple(struct tm *p
#else
PyStructSequence_SET_ITEM(v, 9,
PyUnicode_DecodeLocale(zone, "surrogateescape"));
SET(10, gmtoff);
PyStructSequence_SET_ITEM(v, 10, _PyLong_FromTime_t(gmtoff));
#endif /* HAVE_STRUCT_TM_TM_ZONE */
#undef SET
if (PyErr_Occurred()) {
@ -396,7 +396,7 @@ time_localtime(PyObject *self, PyObject *args)
{
struct tm local = buf;
char zone[100];
int gmtoff;
time_t gmtoff;
strftime(zone, sizeof(zone), "%Z", &buf);
gmtoff = timegm(&buf) - when;
return tmtotuple(&local, zone, gmtoff);