Bugfix candidate.
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 *.
diff --git a/Lib/test/test_descr.py b/Lib/test/test_descr.py
index de9bba1..696e99c 100644
--- a/Lib/test/test_descr.py
+++ b/Lib/test/test_descr.py
@@ -426,6 +426,9 @@
 def ints():
     if verbose: print "Testing int operations..."
     numops(100, 3)
+    # The following crashes in Python 2.2
+    vereq((1).__nonzero__(), 1)
+    vereq((0).__nonzero__(), 0)
 
 def longs():
     if verbose: print "Testing long operations..."