Rip out the file object's implementation.

Fixed test_import.py while I was at it.

However, there's still a problem in import.c -- get_file() can leak a
FILE struct (not a file descriptor though).  I'm not sure how to fix
this; closing the FILE* closes the file descriptor, and that's the
wrong thing to do when there's still a Python file object keeping the
file descriptor open.  I also would rather not mess with dup(), as it
won't port to Windows.
This commit is contained in:
Guido van Rossum 2007-06-12 23:30:11 +00:00
parent 2d5c219fe0
commit da5b8f2d28
14 changed files with 106 additions and 2537 deletions

View file

@ -1287,12 +1287,13 @@ PyCursesWindow_PutWin(PyCursesWindowObject *self, PyObject *args)
if (!PyArg_ParseTuple(args, "O;fileobj", &temp))
return NULL;
if (!PyFile_Check(temp)) {
PyErr_SetString(PyExc_TypeError, "argument must be a file object");
return NULL;
}
PyErr_SetString(PyExc_TypeError, "argument must be a file object");
return NULL;
#if 0
return PyCursesCheckERR(putwin(self->win, PyFile_AsFile(temp)),
"putwin");
#endif
}
static PyObject *
@ -1748,11 +1749,10 @@ PyCurses_GetWin(PyCursesWindowObject *self, PyObject *temp)
PyCursesInitialised
if (!PyFile_Check(temp)) {
PyErr_SetString(PyExc_TypeError, "argument must be a file object");
return NULL;
}
PyErr_SetString(PyExc_TypeError, "argument must be a file object");
return NULL;
#if 0
win = getwin(PyFile_AsFile(temp));
if (win == NULL) {
@ -1761,6 +1761,7 @@ PyCurses_GetWin(PyCursesWindowObject *self, PyObject *temp)
}
return PyCursesWindow_New(win);
#endif
}
static PyObject *