summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Python/bltinmodule.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c
index 9bbf64b..d087e9c 100644
--- a/Python/bltinmodule.c
+++ b/Python/bltinmodule.c
@@ -1383,6 +1383,11 @@ builtin_round(PyObject *self, PyObject *args, PyObject *kwds)
kwlist, &number, &ndigits))
return NULL;
+ if (Py_Type(number)->tp_dict == NULL) {
+ if (PyType_Ready(Py_Type(number)) < 0)
+ return NULL;
+ }
+
if (round_str == NULL) {
round_str = PyUnicode_FromString("__round__");
if (round_str == NULL)
@@ -1497,6 +1502,11 @@ builtin_trunc(PyObject *self, PyObject *number)
static PyObject *trunc_str = NULL;
PyObject *trunc;
+ if (Py_Type(number)->tp_dict == NULL) {
+ if (PyType_Ready(Py_Type(number)) < 0)
+ return NULL;
+ }
+
if (trunc_str == NULL) {
trunc_str = PyUnicode_FromString("__trunc__");
if (trunc_str == NULL)