From d593f84a664ee2d538dcb7980538824d2b67efca Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Fri, 27 Aug 2021 19:03:18 +0200 Subject: [PATCH] Socket: disable charset heuristics when the server advertizes UTF8ONLY. --- src/drivers/Socket.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/drivers/Socket.py b/src/drivers/Socket.py index 363f9618e..d5d4ee5d8 100644 --- a/src/drivers/Socket.py +++ b/src/drivers/Socket.py @@ -212,7 +212,13 @@ class SocketDriver(drivers.IrcDriver, drivers.ServersMixin): lines = self.inbuffer.split(b'\n') self.inbuffer = lines.pop() for line in lines: - line = decode_raw_line(line) + if self.irc is not None \ + and 'UTF8ONLY' in self.irc.state.supported: + # No need for the fancy charset-guessing used in + # decode_raw_line. + line = line.decode('utf8') + else: + line = decode_raw_line(line) msg = drivers.parseMsg(line) if msg is not None and self.irc is not None: