File 2522-prim_tty-Fix-CSI-parsing.patch of Package erlang

From 78743e198371127b7c9410a35325e64edda8e980 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lukas=20Backstr=C3=B6m?= <lukas@erlang.org>
Date: Mon, 9 Jun 2025 20:58:05 +0200
Subject: [PATCH 02/17] prim_tty: Fix CSI parsing

---
 lib/kernel/src/prim_tty.erl | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/kernel/src/prim_tty.erl b/lib/kernel/src/prim_tty.erl
index f438f9f816..6777ee1ac8 100644
--- a/lib/kernel/src/prim_tty.erl
+++ b/lib/kernel/src/prim_tty.erl
@@ -1319,7 +1319,7 @@ insert_buf(State, Bin, LineAcc, Acc) ->
              NewState};
         [$\t | Rest] ->
             insert_buf(State, Rest, [State#state.tab | LineAcc], Acc);
-        [$\e | Rest] ->
+        [CSI | Rest] when CSI =:= $\e; CSI =:= 155 ->
             case ansi_sgr(Bin) of
                 none ->
                     case re:run(Bin, State#state.ansi_regexp) of
@@ -1404,7 +1404,7 @@ insert_buf(State, Bin, LineAcc, Acc) ->
 %% This function replicates this regex pattern <<"^[\e",194,155,"]\\[[0-9;:]*m">>
 %% calling re:run/2 nif on compiled regex_pattern was significantly
 %% slower than this implementation.
-ansi_sgr(<<N, $[, Rest/binary>> = Bin) when N =:= $\e; N =:= 194; N =:= 155 ->
+ansi_sgr(<<N/utf8, $[, Rest/binary>> = Bin) when N =:= $\e; N =:= 155 ->
     case ansi_sgr(Rest, 2) of
         {ok, Size} ->
             <<Result:Size/binary, Bin1/binary>> = Bin,
-- 
2.51.0

openSUSE Build Service is sponsored by