diff options
Diffstat (limited to 'Objects/exceptions.c')
| -rw-r--r-- | Objects/exceptions.c | 57 |
1 files changed, 22 insertions, 35 deletions
diff --git a/Objects/exceptions.c b/Objects/exceptions.c index 9d61a9a..8edc6c6 100644 --- a/Objects/exceptions.c +++ b/Objects/exceptions.c @@ -62,9 +62,8 @@ BaseException_init(PyBaseExceptionObject *self, PyObject *args, PyObject *kwds) Py_SETREF(self->args, args); if (PyTuple_GET_SIZE(self->args) == 1) { - Py_CLEAR(self->message); - self->message = PyTuple_GET_ITEM(self->args, 0); - Py_INCREF(self->message); + Py_INCREF(PyTuple_GET_ITEM(self->args, 0)); + Py_SETREF(self->message, PyTuple_GET_ITEM(self->args, 0)); } return 0; } @@ -279,9 +278,8 @@ BaseException_set_dict(PyBaseExceptionObject *self, PyObject *val) PyErr_SetString(PyExc_TypeError, "__dict__ must be a dictionary"); return -1; } - Py_CLEAR(self->dict); Py_INCREF(val); - self->dict = val; + Py_SETREF(self->dict, val); return 0; } @@ -307,8 +305,7 @@ BaseException_set_args(PyBaseExceptionObject *self, PyObject *val) seq = PySequence_Tuple(val); if (!seq) return -1; - Py_CLEAR(self->args); - self->args = seq; + Py_SETREF(self->args, seq); return 0; } @@ -608,19 +605,16 @@ EnvironmentError_init(PyEnvironmentErrorObject *self, PyObject *args, &myerrno, &strerror, &filename)) { return -1; } - Py_CLEAR(self->myerrno); /* replacing */ - self->myerrno = myerrno; - Py_INCREF(self->myerrno); + Py_INCREF(myerrno); + Py_SETREF(self->myerrno, myerrno); - Py_CLEAR(self->strerror); /* replacing */ - self->strerror = strerror; - Py_INCREF(self->strerror); + Py_INCREF(strerror); + Py_SETREF(self->strerror, strerror); /* self->filename will remain Py_None otherwise */ if (filename != NULL) { - Py_CLEAR(self->filename); /* replacing */ - self->filename = filename; - Py_INCREF(self->filename); + Py_INCREF(filename); + Py_SETREF(self->filename, filename); subslice = PyTuple_GetSlice(args, 0, 2); if (!subslice) @@ -877,8 +871,7 @@ WindowsError_init(PyWindowsErrorObject *self, PyObject *args, PyObject *kwds) return -1; posix_errno = winerror_to_errno(errcode); - Py_CLEAR(self->winerror); - self->winerror = self->myerrno; + Py_SETREF(self->winerror, self->myerrno); o_errcode = PyInt_FromLong(posix_errno); if (!o_errcode) @@ -1063,9 +1056,8 @@ SyntaxError_init(PySyntaxErrorObject *self, PyObject *args, PyObject *kwds) return -1; if (lenargs >= 1) { - Py_CLEAR(self->msg); - self->msg = PyTuple_GET_ITEM(args, 0); - Py_INCREF(self->msg); + Py_INCREF(PyTuple_GET_ITEM(args, 0)); + Py_SETREF(self->msg, PyTuple_GET_ITEM(args, 0)); } if (lenargs == 2) { info = PyTuple_GET_ITEM(args, 1); @@ -1080,21 +1072,17 @@ SyntaxError_init(PySyntaxErrorObject *self, PyObject *args, PyObject *kwds) return -1; } - Py_CLEAR(self->filename); - self->filename = PyTuple_GET_ITEM(info, 0); - Py_INCREF(self->filename); + Py_INCREF(PyTuple_GET_ITEM(info, 0)); + Py_SETREF(self->filename, PyTuple_GET_ITEM(info, 0)); - Py_CLEAR(self->lineno); - self->lineno = PyTuple_GET_ITEM(info, 1); - Py_INCREF(self->lineno); + Py_INCREF(PyTuple_GET_ITEM(info, 1)); + Py_SETREF(self->lineno, PyTuple_GET_ITEM(info, 1)); - Py_CLEAR(self->offset); - self->offset = PyTuple_GET_ITEM(info, 2); - Py_INCREF(self->offset); + Py_INCREF(PyTuple_GET_ITEM(info, 2)); + Py_SETREF(self->offset, PyTuple_GET_ITEM(info, 2)); - Py_CLEAR(self->text); - self->text = PyTuple_GET_ITEM(info, 3); - Py_INCREF(self->text); + Py_INCREF(PyTuple_GET_ITEM(info, 3)); + Py_SETREF(self->text, PyTuple_GET_ITEM(info, 3)); Py_DECREF(info); } @@ -1327,8 +1315,7 @@ set_string(PyObject **attr, const char *value) PyObject *obj = PyString_FromString(value); if (!obj) return -1; - Py_CLEAR(*attr); - *attr = obj; + Py_SETREF(*attr, obj); return 0; } |
