Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit ae49eaf

Browse filesBrowse files
committed
fix macro & other PR suggestions
1 parent 22025f9 commit ae49eaf
Copy full SHA for ae49eaf

File tree

1 file changed

+38
-41
lines changed
Filter options

1 file changed

+38
-41
lines changed

‎Modules/_datetimemodule.c

Copy file name to clipboardExpand all lines: Modules/_datetimemodule.c
+38-41Lines changed: 38 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -6524,56 +6524,44 @@ _datetime_exec(PyObject *module)
65246524
}
65256525
Py_INCREF(&PyDateTime_IsoCalendarDateType);
65266526

6527-
6528-
PyObject *x = NULL;
6529-
6530-
#define DATETIME_ADD_MACRO(x, c) \
6531-
do { \
6532-
if (x == NULL) { \
6533-
return -1; \
6534-
} \
6535-
if (PyDict_SetItemString(d, c, x) < 0) { \
6536-
Py_DECREF(x); \
6537-
return -1; \
6538-
} \
6539-
Py_DECREF(x); \
6527+
#define DATETIME_ADD_MACRO(dict, c, value) \
6528+
do { \
6529+
if (value == NULL) { \
6530+
return -1; \
6531+
} \
6532+
if (PyDict_SetItemString(dict, c, value) < 0) { \
6533+
Py_DECREF(value); \
6534+
return -1; \
6535+
} \
6536+
Py_DECREF(value); \
65406537
} while(0)
65416538

65426539
/* timedelta values */
65436540
PyObject *d = PyDateTime_DeltaType.tp_dict;
6544-
x = new_delta(0, 0, 1, 0);
6545-
DATETIME_ADD_MACRO(x, "resolution");
6546-
x = new_delta(-MAX_DELTA_DAYS, 0, 0, 0);
6547-
DATETIME_ADD_MACRO(x, "min");
6548-
x = new_delta(MAX_DELTA_DAYS, 24*3600-1, 1000000-1, 0);
6549-
DATETIME_ADD_MACRO(x, "max");
6541+
DATETIME_ADD_MACRO(d, "resolution", new_delta(0, 0, 1, 0));
6542+
DATETIME_ADD_MACRO(d, "min", new_delta(-MAX_DELTA_DAYS, 0, 0, 0));
6543+
DATETIME_ADD_MACRO(d, "max",
6544+
new_delta(MAX_DELTA_DAYS, 24*3600-1, 1000000-1, 0));
65506545

65516546
/* date values */
65526547
d = PyDateTime_DateType.tp_dict;
6553-
x = new_date(1, 1, 1);
6554-
DATETIME_ADD_MACRO(x, "min");
6555-
x = new_date(MAXYEAR, 12, 31);
6556-
DATETIME_ADD_MACRO(x, "max");
6557-
x = new_delta(1, 0, 0, 0);
6558-
DATETIME_ADD_MACRO(x, "resolution");
6548+
DATETIME_ADD_MACRO(d, "min", new_date(1, 1, 1));
6549+
DATETIME_ADD_MACRO(d, "max", new_date(MAXYEAR, 12, 31));
6550+
DATETIME_ADD_MACRO(d, "resolution", new_delta(1, 0, 0, 0));
65596551

65606552
/* time values */
65616553
d = PyDateTime_TimeType.tp_dict;
6562-
x = new_time(0, 0, 0, 0, Py_None, 0);
6563-
DATETIME_ADD_MACRO(x, "min");
6564-
x = new_time(23, 59, 59, 999999, Py_None, 0);
6565-
DATETIME_ADD_MACRO(x, "max");
6566-
x = new_delta(0, 0, 1, 0);
6567-
DATETIME_ADD_MACRO(x, "resolution");
6554+
DATETIME_ADD_MACRO(d, "min", new_time(0, 0, 0, 0, Py_None, 0));
6555+
DATETIME_ADD_MACRO(d, "max", new_time(23, 59, 59, 999999, Py_None, 0));
6556+
DATETIME_ADD_MACRO(d, "resolution", new_delta(0, 0, 1, 0));
65686557

65696558
/* datetime values */
65706559
d = PyDateTime_DateTimeType.tp_dict;
6571-
x = new_datetime(1, 1, 1, 0, 0, 0, 0, Py_None, 0);
6572-
DATETIME_ADD_MACRO(x, "min");
6573-
x = new_datetime(MAXYEAR, 12, 31, 23, 59, 59, 999999, Py_None, 0);
6574-
DATETIME_ADD_MACRO(x, "max");
6575-
x = new_delta(0, 0, 1, 0);
6576-
DATETIME_ADD_MACRO(x, "resolution");
6560+
DATETIME_ADD_MACRO(d, "min",
6561+
new_datetime(1, 1, 1, 0, 0, 0, 0, Py_None, 0));
6562+
DATETIME_ADD_MACRO(d, "max", new_datetime(MAXYEAR, 12, 31, 23, 59, 59,
6563+
999999, Py_None, 0));
6564+
DATETIME_ADD_MACRO(d, "resolution", new_delta(0, 0, 1, 0));
65776565

65786566
/* timezone values */
65796567
d = PyDateTime_TimeZoneType.tp_dict;
@@ -6582,7 +6570,7 @@ _datetime_exec(PyObject *module)
65826570
return -1;
65836571
}
65846572

6585-
x = create_timezone(delta, NULL);
6573+
PyObject *x = create_timezone(delta, NULL);
65866574
Py_DECREF(delta);
65876575
if (x == NULL) {
65886576
return -1;
@@ -6602,17 +6590,26 @@ _datetime_exec(PyObject *module)
66026590
if (delta == NULL) {
66036591
return -1;
66046592
}
6593+
66056594
x = create_timezone(delta, NULL);
66066595
Py_DECREF(delta);
6607-
DATETIME_ADD_MACRO(x, "min");
6596+
if (x == NULL) {
6597+
return -1;
6598+
}
6599+
DATETIME_ADD_MACRO(d, "min", x);
66086600

66096601
delta = new_delta(0, (23 * 60 + 59) * 60, 0, 0); /* +23:59 */
66106602
if (delta == NULL) {
66116603
return -1;
66126604
}
6605+
66136606
x = create_timezone(delta, NULL);
66146607
Py_DECREF(delta);
6615-
DATETIME_ADD_MACRO(x, "max");
6608+
if (x == NULL) {
6609+
return -1;
6610+
}
6611+
6612+
DATETIME_ADD_MACRO(d, "max", x);
66166613

66176614
/* Epoch */
66186615
PyDateTime_Epoch = new_datetime(1970, 1, 1, 0, 0, 0, 0,
@@ -6635,7 +6632,7 @@ _datetime_exec(PyObject *module)
66356632
}
66366633

66376634
if (PyModule_AddObject(module, "datetime_CAPI", x) < 0) {
6638-
Py_XDECREF(x);
6635+
Py_DECREF(x);
66396636
return -1;
66406637
}
66416638

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.