mirror of
https://github.com/python/cpython.git
synced 2025-12-11 03:20:01 +00:00
SF patch #683187, fix universal newline problems on error
This commit is contained in:
parent
df1252dec9
commit
cb3319f61e
1 changed files with 4 additions and 1 deletions
|
|
@ -2278,7 +2278,7 @@ Py_UniversalNewlineFread(char *buf, size_t n,
|
||||||
|
|
||||||
if (!fobj || !PyFile_Check(fobj)) {
|
if (!fobj || !PyFile_Check(fobj)) {
|
||||||
errno = ENXIO; /* What can you do... */
|
errno = ENXIO; /* What can you do... */
|
||||||
return -1;
|
return 0;
|
||||||
}
|
}
|
||||||
if (!f->f_univ_newline)
|
if (!f->f_univ_newline)
|
||||||
return fread(buf, 1, n, stream);
|
return fread(buf, 1, n, stream);
|
||||||
|
|
@ -2294,6 +2294,9 @@ Py_UniversalNewlineFread(char *buf, size_t n,
|
||||||
|
|
||||||
nread = fread(dst, 1, n, stream);
|
nread = fread(dst, 1, n, stream);
|
||||||
assert(nread <= n);
|
assert(nread <= n);
|
||||||
|
if (nread == 0)
|
||||||
|
break;
|
||||||
|
|
||||||
n -= nread; /* assuming 1 byte out for each in; will adjust */
|
n -= nread; /* assuming 1 byte out for each in; will adjust */
|
||||||
shortread = n != 0; /* true iff EOF or error */
|
shortread = n != 0; /* true iff EOF or error */
|
||||||
while (nread--) {
|
while (nread--) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue