]> granicus.if.org Git - python/commitdiff
Bugfix candidate.
authorGuido van Rossum <guido@python.org>
Sun, 10 Mar 2002 14:11:16 +0000 (14:11 +0000)
committerGuido van Rossum <guido@python.org>
Sun, 10 Mar 2002 14:11:16 +0000 (14:11 +0000)
Adapter from SF patch 528038; fixes SF bug 527816.

The wrapper for __nonzero__ should be wrap_inquiry rather than
wrap_unaryfunc, since the slot returns an int, not a PyObject *.

Objects/typeobject.c

index df6d6f291d03e1ea901acf4ed8599d19b319f6a1..2ad1638a29dc9cc0b9fd1f23084c79968a460d0f 100644 (file)
@@ -3508,7 +3508,7 @@ static slotdef slotdefs[] = {
        UNSLOT("__pos__", nb_positive, slot_nb_positive, wrap_unaryfunc, "+x"),
        UNSLOT("__abs__", nb_absolute, slot_nb_absolute, wrap_unaryfunc,
               "abs(x)"),
-       UNSLOT("__nonzero__", nb_nonzero, slot_nb_nonzero, wrap_unaryfunc,
+       UNSLOT("__nonzero__", nb_nonzero, slot_nb_nonzero, wrap_inquiry,
               "x != 0"),
        UNSLOT("__invert__", nb_invert, slot_nb_invert, wrap_unaryfunc, "~x"),
        BINSLOT("__lshift__", nb_lshift, slot_nb_lshift, "<<"),