[Python-de] Memroy Leaks
Gerhard Haering
gh at ghaering.de
Die Jul 12 14:32:13 CEST 2005
On Tue, Jul 12, 2005 at 12:13:03PM +0200, Julian Rath wrote:
> Eine Frage:
> Verwende ich hier das Py_INCREF richtig?
> danke
> Julian
>
> PyObject* get_error_str(HRESULT hr)
> {
> if(FACILITY_WINDOWS == HRESULT_FACILITY(hr))
> hr = HRESULT_CODE(hr);
> char* pErrMsg;
> PyObject* error;
> if(FormatMessage(
> FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM,
> NULL,
> hr,
> MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
> (LPSTR)&pErrMsg,
> 0,
> NULL) != 0)
> {
> error = PyString_FromFormat("[0x%x] %s", hr ,pErrMsg);
> LocalFree(pErrMsg);
> }
> else
> error = PyString_FromFormat("[0x%x] unknown error code", hr);
> Py_INCREF(error);
> return error;
> }
Nein. Das Py_INCREF erzeugt eine Referenz zu viel. Lass es weg.
Warum hast du gemeint dass du es brauchst? Vielleicht können wir ein
Misverständnis ausräumen ...
-- Gerhard
--
Gerhard Häring - gh at ghaering.de - Python, web & database development
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : nicht verfügbar
Dateityp : application/pgp-signature
Dateigröße : 189 bytes
Beschreibung: Digital signature
URL : http://starship.python.net/pipermail/python-de/attachments/20050712/c47d2d75/attachment.pgp