Mailing List Archive

python/dist/src/Objects fileobject.c,2.159,2.160
Update of /cvsroot/python/python/dist/src/Objects
In directory usw-pr-cvs1:/tmp/cvs-serv12127/python/Objects

Modified Files:
fileobject.c
Log Message:
Py_UniversalNewlineFread(): small speed boost on non-Windows boxes.


Index: fileobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/fileobject.c,v
retrieving revision 2.159
retrieving revision 2.160
diff -C2 -d -r2.159 -r2.160
*** fileobject.c 21 Apr 2002 07:29:14 -0000 2.159
--- fileobject.c 21 Apr 2002 18:15:20 -0000 2.160
***************
*** 2053,2057 ****
nread = fread(dst, 1, n, stream);
assert(nread <= n);
! shortread = nread != n; /* true iff EOF or error */
while (nread--) {
char c = *src++;
--- 2053,2058 ----
nread = fread(dst, 1, n, stream);
assert(nread <= n);
! n -= nread; /* assuming 1 byte out for each in; will adjust */
! shortread = n != 0; /* true iff EOF or error */
while (nread--) {
char c = *src++;
***************
*** 2059,2063 ****
/* Save as LF and set flag to skip next LF. */
*dst++ = '\n';
- --n;
skipnextlf = 1;
}
--- 2060,2063 ----
***************
*** 2066,2069 ****
--- 2066,2070 ----
skipnextlf = 0;
newlinetypes |= NEWLINE_CRLF;
+ ++n;
}
else {
***************
*** 2077,2081 ****
newlinetypes |= NEWLINE_CR;
*dst++ = c;
- --n;
skipnextlf = 0;
}
--- 2078,2081 ----