[Python-checkins] python/dist/src/Python errors.c,2.71,2.72
Neal Norwitz
neal@metaslash.com
Thu, 3 Oct 2002 09:02:11 -0400
On Wed, Oct 02, 2002 at 10:10:41PM -0700, mhammond@users.sourceforge.net wrote:
>
> PyObject *
> + PyErr_SetFromErrnoWithFilename(PyObject *exc, char *filename)
> + {
> + PyObject *name = filename ? PyString_FromString(filename) : NULL;
> + PyObject *result = PyErr_SetFromErrnoWithFilenameObject(exc, name);
> + Py_DECREF(name);
Should be Py_XDECREF().
> --- 441,467 ----
> const char *filename)
> {
> ! PyObject *name = filename ? PyString_FromString(filename) : NULL;
> ! PyObject *result = PyErr_SetExcFromWindowsErrWithFilenameObject(
> ! PyExc_WindowsError,
> ! ierr, name);
> ! Py_XDECREF(result);
> ! return result;
Should be DECREFing name, right?
> +
> + #ifdef Py_WIN_WIDE_FILENAMES
> + PyObject *PyErr_SetFromWindowsErrWithUnicodeFilename(
> + int ierr,
> + const Py_UNICODE *filename)
> + {
> + PyObject *name = filename ?
> + PyUnicode_FromUnicode(filename, wcslen(filename)) :
> + NULL;
> + PyObject *result = PyErr_SetExcFromWindowsErrWithFilenameObject(
> + PyExc_WindowsError,
> + ierr, name);
> + Py_XDECREF(result);
> + return result;
Should be DECREFing name here too?
Neal