Fix TypeError with IAC escaping
[mudpy.git] / mudpy / telnet.py
index 9feac03..245f44a 100644 (file)
@@ -1,6 +1,6 @@
 """Telnet functions and constants for the mudpy engine."""
 
-# Copyright (c) 2004-2015 Jeremy Stanley <fungi@yuggoth.org>. Permission
+# Copyright (c) 2004-2018 Jeremy Stanley <fungi@yuggoth.org>. Permission
 # to use, copy, modify, and distribute this software is granted under
 # terms provided in the LICENSE file distributed with this software.
 
@@ -127,7 +127,7 @@ def negotiate_telnet_options(user):
 
         # replace a double (literal) IAC if there's an LF later
         if command is IAC:
-            if text.find("\n", position) > 0:
+            if text.find(b"\n", position) > 0:
                 position += 1
                 text = text[:position] + text[position + 1:]
             else:
@@ -179,10 +179,10 @@ def negotiate_telnet_options(user):
 
         # subnegotiation options
         elif len_text > position + 4 and command is SB:
-            telopt = ord(text[position + 2])
+            telopt = text[position + 2]
             if telopt is TELOPT_NAWS:
                 user.columns = (
-                    ord(text[position + 3]) * 256 + ord(text[position + 4]))
+                    text[position + 3] * 256 + text[position + 4])
             end_subnegotiation = text.find(telnet_proto(IAC, SE), position)
             if end_subnegotiation > 0:
                 text = text[:position] + text[end_subnegotiation + 2:]