[Python-checkins] CVS: python/dist/src/Lib ftplib.py,1.58,1.59

Guido van Rossum gvanrossum@users.sourceforge.net
2001年10月16日 12:45:54 -0700


Update of /cvsroot/python/python/dist/src/Lib
In directory usw-pr-cvs1:/tmp/cvs-serv4678
Modified Files:
	ftplib.py 
Log Message:
Fix SF bug #459767: ftplib fails with files > 2GB
size(), parse150(): try int() first, catch OverflowError, fall back to
long().
Index: ftplib.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/ftplib.py,v
retrieving revision 1.58
retrieving revision 1.59
diff -C2 -d -r1.58 -r1.59
*** ftplib.py	2001年10月07日 08:53:32	1.58
--- ftplib.py	2001年10月16日 19:45:52	1.59
***************
*** 344,348 ****
 
 def transfercmd(self, cmd, rest=None):
! """Like nstransfercmd() but returns only the socket."""
 return self.ntransfercmd(cmd, rest)[0]
 
--- 344,348 ----
 
 def transfercmd(self, cmd, rest=None):
! """Like ntransfercmd() but returns only the socket."""
 return self.ntransfercmd(cmd, rest)[0]
 
***************
*** 506,510 ****
 resp = self.sendcmd('SIZE ' + filename)
 if resp[:3] == '213':
! return int(resp[3:].strip())
 
 def mkd(self, dirname):
--- 506,514 ----
 resp = self.sendcmd('SIZE ' + filename)
 if resp[:3] == '213':
! s = resp[3:].strip()
! try:
! return int(s)
! except OverflowError:
! return long(s)
 
 def mkd(self, dirname):
***************
*** 550,556 ****
 _150_re = re.compile("150 .* \((\d+) bytes\)", re.IGNORECASE)
 m = _150_re.match(resp)
! if m:
! return int(m.group(1))
! return None
 
 
--- 554,564 ----
 _150_re = re.compile("150 .* \((\d+) bytes\)", re.IGNORECASE)
 m = _150_re.match(resp)
! if not m:
! return None
! s = m.group(1)
! try:
! return int(s)
! except OverflowError:
! return long(s)
 
 

AltStyle によって変換されたページ (->オリジナル) /