mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
Issue #20440: More use of Py_SETREF.
This patch is manually crafted and contains changes that couldn't be handled automatically.
This commit is contained in:
commit
726fc139a5
8 changed files with 40 additions and 63 deletions
|
@ -2983,10 +2983,9 @@ PyCFuncPtr_set_restype(PyCFuncPtrObject *self, PyObject *ob)
|
|||
"restype must be a type, a callable, or None");
|
||||
return -1;
|
||||
}
|
||||
Py_XDECREF(self->checker);
|
||||
Py_INCREF(ob);
|
||||
Py_SETREF(self->restype, ob);
|
||||
self->checker = PyObject_GetAttrString(ob, "_check_retval_");
|
||||
Py_SETREF(self->checker, PyObject_GetAttrString(ob, "_check_retval_"));
|
||||
if (self->checker == NULL)
|
||||
PyErr_Clear();
|
||||
return 0;
|
||||
|
|
|
@ -965,9 +965,8 @@ element_setstate_from_attributes(ElementObject *self,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
Py_CLEAR(self->tag);
|
||||
self->tag = tag;
|
||||
Py_INCREF(self->tag);
|
||||
Py_INCREF(tag);
|
||||
Py_SETREF(self->tag, tag);
|
||||
|
||||
_clear_joined_ptr(&self->text);
|
||||
self->text = text ? JOIN_SET(text, PyList_CheckExact(text)) : Py_None;
|
||||
|
@ -1010,9 +1009,8 @@ element_setstate_from_attributes(ElementObject *self,
|
|||
|
||||
/* Stash attrib. */
|
||||
if (attrib) {
|
||||
Py_CLEAR(self->extra->attrib);
|
||||
self->extra->attrib = attrib;
|
||||
Py_INCREF(attrib);
|
||||
Py_SETREF(self->extra->attrib, attrib);
|
||||
}
|
||||
|
||||
Py_RETURN_NONE;
|
||||
|
@ -1961,8 +1959,7 @@ element_tag_setter(ElementObject *self, PyObject *value, void *closure)
|
|||
{
|
||||
_VALIDATE_ATTR_VALUE(value);
|
||||
Py_INCREF(value);
|
||||
Py_DECREF(self->tag);
|
||||
self->tag = value;
|
||||
Py_SETREF(self->tag, value);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1995,8 +1992,7 @@ element_attrib_setter(ElementObject *self, PyObject *value, void *closure)
|
|||
return -1;
|
||||
}
|
||||
Py_INCREF(value);
|
||||
Py_DECREF(self->extra->attrib);
|
||||
self->extra->attrib = value;
|
||||
Py_SETREF(self->extra->attrib, value);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -2533,13 +2529,10 @@ treebuilder_handle_start(TreeBuilderObject* self, PyObject* tag,
|
|||
}
|
||||
self->index++;
|
||||
|
||||
Py_DECREF(this);
|
||||
Py_INCREF(node);
|
||||
self->this = node;
|
||||
|
||||
Py_DECREF(self->last);
|
||||
Py_SETREF(self->this, node);
|
||||
Py_INCREF(node);
|
||||
self->last = node;
|
||||
Py_SETREF(self->last, node);
|
||||
|
||||
if (treebuilder_append_event(self, self->start_event_obj, node) < 0)
|
||||
goto error;
|
||||
|
@ -2612,15 +2605,12 @@ treebuilder_handle_end(TreeBuilderObject* self, PyObject* tag)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
self->index--;
|
||||
|
||||
item = PyList_GET_ITEM(self->stack, self->index);
|
||||
Py_INCREF(item);
|
||||
|
||||
Py_DECREF(self->last);
|
||||
|
||||
item = self->last;
|
||||
self->last = self->this;
|
||||
self->this = item;
|
||||
self->index--;
|
||||
self->this = PyList_GET_ITEM(self->stack, self->index);
|
||||
Py_INCREF(self->this);
|
||||
Py_DECREF(item);
|
||||
|
||||
if (treebuilder_append_event(self, self->end_event_obj, self->last) < 0)
|
||||
return NULL;
|
||||
|
|
|
@ -524,10 +524,10 @@ PyObject* _pysqlite_query_execute(pysqlite_Cursor* self, int multiple, PyObject*
|
|||
|
||||
if (self->statement) {
|
||||
(void)pysqlite_statement_reset(self->statement);
|
||||
Py_DECREF(self->statement);
|
||||
}
|
||||
|
||||
self->statement = (pysqlite_Statement*)pysqlite_cache_get(self->connection->statement_cache, func_args);
|
||||
Py_SETREF(self->statement,
|
||||
(pysqlite_Statement *)pysqlite_cache_get(self->connection->statement_cache, func_args));
|
||||
Py_DECREF(func_args);
|
||||
|
||||
if (!self->statement) {
|
||||
|
|
|
@ -961,14 +961,11 @@ zlib_Compress_copy_impl(compobject *self)
|
|||
goto error;
|
||||
}
|
||||
Py_INCREF(self->unused_data);
|
||||
Py_SETREF(retval->unused_data, self->unused_data);
|
||||
Py_INCREF(self->unconsumed_tail);
|
||||
Py_SETREF(retval->unconsumed_tail, self->unconsumed_tail);
|
||||
Py_XINCREF(self->zdict);
|
||||
Py_XDECREF(retval->unused_data);
|
||||
Py_XDECREF(retval->unconsumed_tail);
|
||||
Py_XDECREF(retval->zdict);
|
||||
retval->unused_data = self->unused_data;
|
||||
retval->unconsumed_tail = self->unconsumed_tail;
|
||||
retval->zdict = self->zdict;
|
||||
Py_SETREF(retval->zdict, self->zdict);
|
||||
retval->eof = self->eof;
|
||||
|
||||
/* Mark it as being initialized */
|
||||
|
@ -1020,14 +1017,11 @@ zlib_Decompress_copy_impl(compobject *self)
|
|||
}
|
||||
|
||||
Py_INCREF(self->unused_data);
|
||||
Py_SETREF(retval->unused_data, self->unused_data);
|
||||
Py_INCREF(self->unconsumed_tail);
|
||||
Py_SETREF(retval->unconsumed_tail, self->unconsumed_tail);
|
||||
Py_XINCREF(self->zdict);
|
||||
Py_XDECREF(retval->unused_data);
|
||||
Py_XDECREF(retval->unconsumed_tail);
|
||||
Py_XDECREF(retval->zdict);
|
||||
retval->unused_data = self->unused_data;
|
||||
retval->unconsumed_tail = self->unconsumed_tail;
|
||||
retval->zdict = self->zdict;
|
||||
Py_SETREF(retval->zdict, self->zdict);
|
||||
retval->eof = self->eof;
|
||||
|
||||
/* Mark it as being initialized */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue