]> granicus.if.org Git - python/commitdiff
Fix a small nit in the error message if bool() falls back on __len__ and it returns...
authorGeorg Brandl <georg@python.org>
Sun, 15 Mar 2009 21:43:38 +0000 (21:43 +0000)
committerGeorg Brandl <georg@python.org>
Sun, 15 Mar 2009 21:43:38 +0000 (21:43 +0000)
Objects/typeobject.c

index 1df37d199634f2d126d6f9690c70f38cdac468e1..4c397f74870b6bbdc273c480610ef96b86dfb4e0 100644 (file)
@@ -5096,6 +5096,7 @@ slot_nb_nonzero(PyObject *self)
        PyObject *func, *args;
        static PyObject *nonzero_str, *len_str;
        int result = -1;
+       int using_len = 0;
 
        func = lookup_maybe(self, "__nonzero__", &nonzero_str);
        if (func == NULL) {
@@ -5104,6 +5105,7 @@ slot_nb_nonzero(PyObject *self)
                func = lookup_maybe(self, "__len__", &len_str);
                if (func == NULL)
                        return PyErr_Occurred() ? -1 : 1;
+               using_len = 1;
        }
        args = PyTuple_New(0);
        if (args != NULL) {
@@ -5114,8 +5116,10 @@ slot_nb_nonzero(PyObject *self)
                                result = PyObject_IsTrue(temp);
                        else {
                                PyErr_Format(PyExc_TypeError,
-                                            "__nonzero__ should return "
+                                            "%s should return "
                                             "bool or int, returned %s",
+                                            (using_len ? "__len__"
+                                                       : "__nonzero__"),
                                             temp->ob_type->tp_name);
                                result = -1;
                        }