summaryrefslogtreecommitdiff
path: root/python/subunit/chunked.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/subunit/chunked.py')
-rw-r--r--python/subunit/chunked.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/python/subunit/chunked.py b/python/subunit/chunked.py
index 89fb97b..82e4b0d 100644
--- a/python/subunit/chunked.py
+++ b/python/subunit/chunked.py
@@ -55,11 +55,13 @@ class Decoder(object):
def _read_body(self):
"""Pass body bytes to the output."""
while self.body_length and self.buffered_bytes:
- if self.body_length >= self.buffered_bytes[0]:
+ if self.body_length >= len(self.buffered_bytes[0]):
self.output.write(self.buffered_bytes[0])
self.body_length -= len(self.buffered_bytes[0])
- self.state = self._read_length
- # No more data.
+ del self.buffered_bytes[0]
+ # No more data available.
+ if not self.body_length:
+ self.state = self._read_length
else:
self.output.write(self.buffered_bytes[0][:self.body_length])
self.buffered_bytes[0] = \