py3: add r'' prefixes and do ('%d' % int) instead of str(int)
authorPulkit Goyal <7895pulkit@gmail.com>
Tue, 11 Jun 2019 20:48:59 +0300
changeset 42550 683aeef12830
parent 42549 fa2071753dc2
child 42551 8306b6c29add
py3: add r'' prefixes and do ('%d' % int) instead of str(int) This addresses more failures related to zeroconf on py3. Differential Revision: https://phab.mercurial-scm.org/D6510
hgext/zeroconf/Zeroconf.py
--- a/hgext/zeroconf/Zeroconf.py	Sat Feb 02 12:07:31 2019 -0800
+++ b/hgext/zeroconf/Zeroconf.py	Tue Jun 11 20:48:59 2019 +0300
@@ -535,7 +535,7 @@
 
     def readString(self, len):
         """Reads a string of a given length from the packet"""
-        format = '!' + str(len) + 's'
+        format = '!%ds' % len
         length = struct.calcsize(format)
         info = struct.unpack(format,
                              self.data[self.offset:self.offset + length])
@@ -613,7 +613,7 @@
 
     def readName(self):
         """Reads a domain name from the packet"""
-        result = ''
+        result = r''
         off = self.offset
         next = -1
         first = off
@@ -625,7 +625,7 @@
                 break
             t = len & 0xC0
             if t == 0x00:
-                result = ''.join((result, self.readUTF(off, len) + '.'))
+                result = r''.join((result, self.readUTF(off, len) + r'.'))
                 off += len
             elif t == 0xC0:
                 if next < 0: