Author: Armin Rigo <ar...@tunes.org>
Branch: cpyext-gc-support-2
Changeset: r82227:9ead1cf8ed7e
Date: 2016-02-13 17:31 +0100
http://bitbucket.org/pypy/pypy/changeset/9ead1cf8ed7e/

Log:    Avoid "if obj:" where obj is potentially a W_Root. Notably, if it is
        a W_BoolObject then this complains.

diff --git a/pypy/module/cpyext/pyobject.py b/pypy/module/cpyext/pyobject.py
--- a/pypy/module/cpyext/pyobject.py
+++ b/pypy/module/cpyext/pyobject.py
@@ -260,18 +260,16 @@
     """Increment the reference counter of the PyObject and return it.
     Can be called with either a PyObject or a W_Root.
     """
-    if obj:
-        if is_pyobj(obj):
-            pyobj = rffi.cast(PyObject, obj)
-        else:
-            pyobj = as_pyobj(space, obj)
+    if is_pyobj(obj):
+        pyobj = rffi.cast(PyObject, obj)
+    else:
+        pyobj = as_pyobj(space, obj)
+    if pyobj:
         assert pyobj.c_ob_refcnt > 0
         pyobj.c_ob_refcnt += 1
         if not is_pyobj(obj):
             keepalive_until_here(obj)
-        return pyobj
-    else:
-        return lltype.nullptr(PyObject.TO)
+    return pyobj
 INTERPLEVEL_API['make_ref'] = make_ref
 
 
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to