Merged revisions 83030 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r83030 | antoine.pitrou | 2010-07-21 18:41:31 +0200 (mer., 21 juil. 2010) | 5 lines

  Issue #5395: check that array.fromfile() re-raises an IOError instead of replacing it
  with EOFError.
  (this is only an added test, but 2.x will get a fix too)
........
This commit is contained in:
Antoine Pitrou 2010-07-21 16:47:28 +00:00
parent 2f3379f978
commit 7a7013e830
4 changed files with 24 additions and 2 deletions

View file

@ -1228,8 +1228,14 @@ array_fromfile(arrayobject *self, PyObject *args)
PyMem_RESIZE(item, char, Py_SIZE(self)*itemsize);
self->ob_item = item;
self->allocated = Py_SIZE(self);
PyErr_SetString(PyExc_EOFError,
"not enough items in file");
if (ferror(fp)) {
PyErr_SetFromErrno(PyExc_IOError);
clearerr(fp);
}
else {
PyErr_SetString(PyExc_EOFError,
"not enough items in file");
}
return NULL;
}
}