summaryrefslogtreecommitdiffstats
path: root/Objects/cellobject.c
diff options
context:
space:
mode:
Diffstat (limited to 'Objects/cellobject.c')
-rw-r--r--Objects/cellobject.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/Objects/cellobject.c b/Objects/cellobject.c
index 1ddf4c5..f516707 100644
--- a/Objects/cellobject.c
+++ b/Objects/cellobject.c
@@ -11,8 +11,7 @@ PyCell_New(PyObject *obj)
op = (PyCellObject *)PyObject_GC_New(PyCellObject, &PyCell_Type);
if (op == NULL)
return NULL;
- op->ob_ref = obj;
- Py_XINCREF(obj);
+ op->ob_ref = Py_XNewRef(obj);
_PyObject_GC_TRACK(op);
return (PyObject *)op;
@@ -68,8 +67,7 @@ PyCell_Set(PyObject *op, PyObject *value)
return -1;
}
PyObject *old_value = PyCell_GET(op);
- Py_XINCREF(value);
- PyCell_SET(op, value);
+ PyCell_SET(op, Py_XNewRef(value));
Py_XDECREF(old_value);
return 0;
}
@@ -135,15 +133,13 @@ cell_get_contents(PyCellObject *op, void *closure)
PyErr_SetString(PyExc_ValueError, "Cell is empty");
return NULL;
}
- Py_INCREF(op->ob_ref);
- return op->ob_ref;
+ return Py_NewRef(op->ob_ref);
}
static int
cell_set_contents(PyCellObject *op, PyObject *obj, void *Py_UNUSED(ignored))
{
- Py_XINCREF(obj);
- Py_XSETREF(op->ob_ref, obj);
+ Py_XSETREF(op->ob_ref, Py_XNewRef(obj));
return 0;
}