summaryrefslogtreecommitdiffstats
path: root/contrib/tools/python3/Modules/_decimal/_decimal.c
diff options
context:
space:
mode:
authorshadchin <[email protected]>2026-02-07 19:56:35 +0300
committershadchin <[email protected]>2026-02-07 20:23:53 +0300
commit19d43a3e6fb4cb8ea11747d7d7bca7a3542fbb44 (patch)
tree0b1418938140a0b6470953bef6069454ffdf1bd0 /contrib/tools/python3/Modules/_decimal/_decimal.c
parent0879409bfc0891ab8103828a3bdbf0e960475fec (diff)
Update Python 3 to 3.13.12
commit_hash:71d3efea437a769b2b7910d196120bb02587046e
Diffstat (limited to 'contrib/tools/python3/Modules/_decimal/_decimal.c')
-rw-r--r--contrib/tools/python3/Modules/_decimal/_decimal.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/contrib/tools/python3/Modules/_decimal/_decimal.c b/contrib/tools/python3/Modules/_decimal/_decimal.c
index d1fbfd7d303..cbe7af13240 100644
--- a/contrib/tools/python3/Modules/_decimal/_decimal.c
+++ b/contrib/tools/python3/Modules/_decimal/_decimal.c
@@ -3462,7 +3462,8 @@ dec_format(PyObject *dec, PyObject *args)
if (size > 0 && fmt[size-1] == 'N') {
if (PyErr_WarnEx(PyExc_DeprecationWarning,
- "Format specifier 'N' is deprecated", 1) < 0) {
+ "Format specifier 'N' is deprecated and "
+ "slated for removal in Python 3.18", 1) < 0) {
return NULL;
}
}
@@ -5922,10 +5923,15 @@ _decimal_exec(PyObject *m)
/* DecimalTuple */
ASSIGN_PTR(collections, PyImport_ImportModule("collections"));
- ASSIGN_PTR(state->DecimalTuple, (PyTypeObject *)PyObject_CallMethod(collections,
- "namedtuple", "(ss)", "DecimalTuple",
- "sign digits exponent"));
-
+ ASSIGN_PTR(obj, PyObject_CallMethod(collections, "namedtuple", "(ss)",
+ "DecimalTuple",
+ "sign digits exponent"));
+ if (!PyType_Check(obj)) {
+ PyErr_SetString(PyExc_TypeError,
+ "type is expected from namedtuple call");
+ goto error;
+ }
+ ASSIGN_PTR(state->DecimalTuple, (PyTypeObject *)obj);
ASSIGN_PTR(obj, PyUnicode_FromString("decimal"));
CHECK_INT(PyDict_SetItemString(state->DecimalTuple->tp_dict, "__module__", obj));
Py_CLEAR(obj);