When the null string is used as the terminator, it used to be the same
as None, meaning "collect all the data". In the current code, however, it
falls into an endless loop; this change reverts to the old behavior.
while self.ac_in_buffer:
lb = len(self.ac_in_buffer)
terminator = self.get_terminator()
- if terminator is None:
+ if terminator is None or terminator == '':
# no terminator, collect it all
self.collect_incoming_data (self.ac_in_buffer)
self.ac_in_buffer = ''