summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormsoulier <msoulier@63283fd4-ec1e-0410-9879-cb7f675518da>2006-12-15 04:08:20 +0000
committermsoulier <msoulier@63283fd4-ec1e-0410-9879-cb7f675518da>2006-12-15 04:08:20 +0000
commit16ebbf2d160ebe2724b14a5ca6d57151296d42f6 (patch)
tree5a9860f9a7f096d3a3f0a5f8d654e5ed9419ae75
parent772370578a06b7283277727c8c054f2440b9c7d0 (diff)
downloadtftpy-16ebbf2d160ebe2724b14a5ca6d57151296d42f6.tar.gz
Tweak to EOF handling in server.
git-svn-id: https://tftpy.svn.sourceforge.net/svnroot/tftpy/trunk@46 63283fd4-ec1e-0410-9879-cb7f675518da
-rwxr-xr-xlib/tftpy.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/tftpy.py b/lib/tftpy.py
index 8ee5808..fe2018e 100755
--- a/lib/tftpy.py
+++ b/lib/tftpy.py
@@ -914,9 +914,10 @@ class TftpServerHandler(TftpSession):
def send_dat(self, resend=False):
"""This method reads sends a DAT packet based on what is in self.buffer."""
if not resend:
- self.buffer = self.fileobj.read(int(self.options['blksize']))
+ blksize = int(self.options['blksize'])
+ self.buffer = self.fileobj.read(blksize)
logger.debug("Read %d bytes into buffer" % len(self.buffer))
- if not self.buffer:
+ if self.buffer == "" or self.buffer < blksize:
logger.info("Reached EOF on file %s" % self.filename)
self.state.state = 'fin'
self.blocknumber += 1