From: Andreas Monzner Date: Fri, 13 Jan 2006 16:28:45 +0000 (+0000) Subject: fix memleak, X-Git-Tag: 2.6.0~4458 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/d91f2da4c8737499c4f4b97508d12515e50994ce fix memleak, speedups --- diff --git a/lib/base/ebase.cpp b/lib/base/ebase.cpp index 1b92995b..00ecb345 100644 --- a/lib/base/ebase.cpp +++ b/lib/base/ebase.cpp @@ -200,16 +200,16 @@ int eMainloop::processOneEvent(unsigned int user_timeout, PyObject **res, PyObje { for (int i=0; i < PyList_Size(additional); ++i) { - PyObject *it = PyList_GetItem(additional, i); + PyObject *it = PyList_GET_ITEM(additional, i); if (!PyTuple_Check(it)) eFatal("poll item is not a tuple"); if (PyTuple_Size(it) != 2) eFatal("poll tuple size is not 2"); - int fd = PyObject_AsFileDescriptor(PyTuple_GetItem(it, 0)); + int fd = PyObject_AsFileDescriptor(PyTuple_GET_ITEM(it, 0)); if (fd == -1) eFatal("poll tuple not a filedescriptor"); pfd[nativecount + i].fd = fd; - pfd[nativecount + i].events = PyInt_AsLong(PyTuple_GetItem(it, 1)); + pfd[nativecount + i].events = PyInt_AsLong(PyTuple_GET_ITEM(it, 1)); } } @@ -254,9 +254,10 @@ int eMainloop::processOneEvent(unsigned int user_timeout, PyObject **res, PyObje if (!*res) *res = PyList_New(0); PyObject *it = PyTuple_New(2); - PyTuple_SetItem(it, 0, PyInt_FromLong(pfd[i].fd)); - PyTuple_SetItem(it, 1, PyInt_FromLong(pfd[i].revents)); + PyTuple_SET_ITEM(it, 0, PyInt_FromLong(pfd[i].fd)); + PyTuple_SET_ITEM(it, 1, PyInt_FromLong(pfd[i].revents)); PyList_Append(*res, it); + Py_DECREF(it); } }