use Py_CLEAR for reference count decrement

git-svn-id: https://linkchecker.svn.sourceforge.net/svnroot/linkchecker/trunk/linkchecker@3468 e7d03fd6-7b0d-0410-9947-9c21f3af8025
This commit is contained in:
calvin 2006-09-18 19:19:30 +00:00
parent 6f221ae45f
commit 9682ce5c3a
2 changed files with 14 additions and 24 deletions

View file

@ -2125,8 +2125,7 @@ static int parser_traverse (parser_object* self, visitproc visit, void* arg) {
/* clear all used subobjects participating in reference cycles */
static int parser_clear (parser_object* self) {
self->userData->handler = NULL;
Py_XDECREF(self->handler);
self->handler = NULL;
Py_CLEAR(self->handler);
return 0;
}
@ -2136,10 +2135,8 @@ static void parser_dealloc (parser_object* self) {
htmllexDestroy(self->scanner);
parser_clear(self);
self->userData->parser = NULL;
Py_XDECREF(self->encoding);
self->encoding = NULL;
Py_XDECREF(self->doctype);
self->doctype = NULL;
Py_CLEAR(self->encoding);
Py_CLEAR(self->doctype);
PyMem_Del(self->userData->buf);
PyMem_Del(self->userData->tmp_buf);
PyMem_Del(self->userData);
@ -2188,12 +2185,10 @@ static PyObject* parser_flush (parser_object* self, PyObject* args) {
}
/* reset parser variables */
CLEAR_BUF(self->userData->tmp_buf);
Py_XDECREF(self->userData->tmp_tag);
Py_XDECREF(self->userData->tmp_attrs);
Py_XDECREF(self->userData->tmp_attrval);
Py_XDECREF(self->userData->tmp_attrname);
self->userData->tmp_tag = self->userData->tmp_attrs =
self->userData->tmp_attrval = self->userData->tmp_attrname = NULL;
Py_CLEAR(self->userData->tmp_tag);
Py_CLEAR(self->userData->tmp_attrs);
Py_CLEAR(self->userData->tmp_attrval);
Py_CLEAR(self->userData->tmp_attrname);
self->userData->bufpos = 0;
if (strlen(self->userData->buf)) {
/* XXX set line, col */

View file

@ -564,8 +564,7 @@ static int parser_traverse (parser_object* self, visitproc visit, void* arg) {
/* clear all used subobjects participating in reference cycles */
static int parser_clear (parser_object* self) {
self->userData->handler = NULL;
Py_XDECREF(self->handler);
self->handler = NULL;
Py_CLEAR(self->handler);
return 0;
}
@ -575,10 +574,8 @@ static void parser_dealloc (parser_object* self) {
htmllexDestroy(self->scanner);
parser_clear(self);
self->userData->parser = NULL;
Py_XDECREF(self->encoding);
self->encoding = NULL;
Py_XDECREF(self->doctype);
self->doctype = NULL;
Py_CLEAR(self->encoding);
Py_CLEAR(self->doctype);
PyMem_Del(self->userData->buf);
PyMem_Del(self->userData->tmp_buf);
PyMem_Del(self->userData);
@ -627,12 +624,10 @@ static PyObject* parser_flush (parser_object* self, PyObject* args) {
}
/* reset parser variables */
CLEAR_BUF(self->userData->tmp_buf);
Py_XDECREF(self->userData->tmp_tag);
Py_XDECREF(self->userData->tmp_attrs);
Py_XDECREF(self->userData->tmp_attrval);
Py_XDECREF(self->userData->tmp_attrname);
self->userData->tmp_tag = self->userData->tmp_attrs =
self->userData->tmp_attrval = self->userData->tmp_attrname = NULL;
Py_CLEAR(self->userData->tmp_tag);
Py_CLEAR(self->userData->tmp_attrs);
Py_CLEAR(self->userData->tmp_attrval);
Py_CLEAR(self->userData->tmp_attrname);
self->userData->bufpos = 0;
if (strlen(self->userData->buf)) {
/* XXX set line, col */