Fix and simplify error handling, silencing a compiler warning.

This commit is contained in:
Georg Brandl 2008-03-26 12:57:47 +00:00
parent 8c78cc3b6c
commit 018a3622e8
1 changed files with 4 additions and 7 deletions

View File

@ -991,6 +991,7 @@ pyepoll_poll(pyEpoll_Object *self, PyObject *args, PyObject *kwds)
else if (dtimeout * 1000.0 > INT_MAX) { else if (dtimeout * 1000.0 > INT_MAX) {
PyErr_SetString(PyExc_OverflowError, PyErr_SetString(PyExc_OverflowError,
"timeout is too large"); "timeout is too large");
return NULL;
} }
else { else {
timeout = (int)(dtimeout * 1000.0); timeout = (int)(dtimeout * 1000.0);
@ -1027,19 +1028,15 @@ pyepoll_poll(pyEpoll_Object *self, PyObject *args, PyObject *kwds)
} }
for (i = 0; i < nfds; i++) { for (i = 0; i < nfds; i++) {
etuple = Py_BuildValue("iI", evs[i].data.fd, etuple = Py_BuildValue("iI", evs[i].data.fd, evs[i].events);
evs[i].events);
if (etuple == NULL) { if (etuple == NULL) {
Py_CLEAR(elist);
goto error; goto error;
} }
PyList_SET_ITEM(elist, i, etuple); PyList_SET_ITEM(elist, i, etuple);
} }
if (0) { error:
error:
Py_CLEAR(elist);
Py_XDECREF(etuple);
}
PyMem_Free(evs); PyMem_Free(evs);
return elist; return elist;
} }