summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Modules/pyexpat.c34
1 files changed, 11 insertions, 23 deletions
diff --git a/Modules/pyexpat.c b/Modules/pyexpat.c
index 20af5ed..1653432 100644
--- a/Modules/pyexpat.c
+++ b/Modules/pyexpat.c
@@ -855,18 +855,15 @@ static PyObject *
xmlparse_ParseFile(xmlparseobject *self, PyObject *f)
{
int rv = 1;
- FILE *fp;
PyObject *readmethod = NULL;
- {
- fp = NULL;
- readmethod = PyObject_GetAttrString(f, "read");
- if (readmethod == NULL) {
- PyErr_Clear();
- PyErr_SetString(PyExc_TypeError,
- "argument must have 'read' attribute");
- return NULL;
- }
+
+ readmethod = PyObject_GetAttrString(f, "read");
+ if (readmethod == NULL) {
+ PyErr_Clear();
+ PyErr_SetString(PyExc_TypeError,
+ "argument must have 'read' attribute");
+ return NULL;
}
for (;;) {
int bytes_read;
@@ -876,19 +873,10 @@ xmlparse_ParseFile(xmlparseobject *self, PyObject *f)
return PyErr_NoMemory();
}
- if (fp) {
- bytes_read = fread(buf, sizeof(char), BUF_SIZE, fp);
- if (bytes_read < 0) {
- PyErr_SetFromErrno(PyExc_IOError);
- return NULL;
- }
- }
- else {
- bytes_read = readinst(buf, BUF_SIZE, readmethod);
- if (bytes_read < 0) {
- Py_DECREF(readmethod);
- return NULL;
- }
+ bytes_read = readinst(buf, BUF_SIZE, readmethod);
+ if (bytes_read < 0) {
+ Py_DECREF(readmethod);
+ return NULL;
}
rv = XML_ParseBuffer(self->itself, bytes_read, bytes_read == 0);
if (PyErr_Occurred()) {