[Python-checkins] python/dist/src/Objects fileobject.c,2.159,2.160

tim_one@sourceforge.net tim_one@sourceforge.net
Sun, 21 Apr 2002 11:15:23 -0700


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 ----