From: Moshe Zadka Date: Wed, 11 Apr 2001 08:06:02 +0000 (+0000) Subject: Inspired by Tim Peters' 1.14->1.15 checkin to asynchat X-Git-Tag: v2.0.1c1~17 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=097cf85daec73d386768d1d49947c470d59cf578;p=thirdparty%2FPython%2Fcpython.git Inspired by Tim Peters' 1.14->1.15 checkin to asynchat Quoting orignal message: ''' Fix from the Madusa mailing list: http://groups.yahoo.com/group/medusa/message/333 It's clear that Medusa should not be checking for an empty buffer via "buf is ''". The patch merely changes "is" to "==". However, there's a mystery here all the same: Python attempts to store null strings uniquely, so it's unclear why "buf is ''" ever returned false when buf actually was empty. *Some* string operations produce non-unique null strings, e.g. ''' --- diff --git a/Lib/asynchat.py b/Lib/asynchat.py index 095cb70e9628..9a26ab56b9e9 100644 --- a/Lib/asynchat.py +++ b/Lib/asynchat.py @@ -166,7 +166,7 @@ class async_chat (asyncore.dispatcher): # return len(self.ac_out_buffer) or len(self.producer_fifo) or (not self.connected) # this is about twice as fast, though not as clear. return not ( - (self.ac_out_buffer is '') and + (self.ac_out_buffer == '') and self.producer_fifo.is_empty() and self.connected )