From 15d3d045470dbd829bdc821d3d7f1efd35436538 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Fri, 24 Aug 2007 02:02:45 +0000 Subject: [PATCH] Before calling _PyType_Lookup() the type needs to be initialized. --- Python/bltinmodule.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c index 9bbf64b75bf309..d087e9c786df60 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)