From: Paul Ganssle <1377457+pganssle@users.noreply.github.com> Date: Fri, 28 Apr 2023 19:44:13 +0000 (-0600) Subject: GH-103944: Check error status when raising DeprecationWarning (#103949) X-Git-Tag: v3.12.0b1~371 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=689723a4abdc1e61a9f71db8ff40886ae1b1704d;p=thirdparty%2FPython%2Fcpython.git GH-103944: Check error status when raising DeprecationWarning (#103949) --- diff --git a/Modules/_datetimemodule.c b/Modules/_datetimemodule.c index d392d384c3ee..8f86fc919662 100644 --- a/Modules/_datetimemodule.c +++ b/Modules/_datetimemodule.c @@ -5144,13 +5144,13 @@ datetime_datetime_now_impl(PyTypeObject *type, PyObject *tz) static PyObject * datetime_utcnow(PyObject *cls, PyObject *dummy) { - PyErr_WarnEx( - PyExc_DeprecationWarning, - "datetime.utcnow() is deprecated and scheduled for removal in a future " - "version. Use timezone-aware objects to represent datetimes in UTC: " - "datetime.now(datetime.UTC).", - 2 - ); + if (PyErr_WarnEx(PyExc_DeprecationWarning, + "datetime.utcnow() is deprecated and scheduled for removal in a " + "future version. Use timezone-aware objects to represent datetimes " + "in UTC: datetime.now(datetime.UTC).", 2)) + { + return NULL; + } return datetime_best_possible(cls, _PyTime_gmtime, Py_None); } @@ -5187,13 +5187,13 @@ datetime_fromtimestamp(PyObject *cls, PyObject *args, PyObject *kw) static PyObject * datetime_utcfromtimestamp(PyObject *cls, PyObject *args) { - PyErr_WarnEx( - PyExc_DeprecationWarning, + if (PyErr_WarnEx(PyExc_DeprecationWarning, "datetime.utcfromtimestamp() is deprecated and scheduled for removal " "in a future version. Use timezone-aware objects to represent " - "datetimes in UTC: datetime.now(datetime.UTC).", - 2 - ); + "datetimes in UTC: datetime.now(datetime.UTC).", 2)) + { + return NULL; + } PyObject *timestamp; PyObject *result = NULL;