From 4c585130e84869acaa2812a3546468af26773674 Mon Sep 17 00:00:00 2001 From: _ov4 Date: Wed, 23 Sep 2026 11:33:20 +0000 Subject: add raw_enabled guard --- include/line/mode.h | 1 + src/line/mode.cc | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/include/line/mode.h b/include/line/mode.h index 85836c7..be0a453 100644 --- a/include/line/mode.h +++ b/include/line/mode.h @@ -9,6 +9,7 @@ namespace ov4 { inline termios attr; +inline bool raw_enabled = false; void disable_raw(); void enable_raw(); diff --git a/src/line/mode.cc b/src/line/mode.cc index 18c7347..2ef470d 100644 --- a/src/line/mode.cc +++ b/src/line/mode.cc @@ -14,11 +14,15 @@ namespace ov4 void disable_raw() { + raw_enabled = false; tcsetattr(STDIN_FILENO, TCSAFLUSH, &attr); } void enable_raw() { + if (raw_enabled = false) return; + + raw_enabled = true; termios attr_raw; tcgetattr(STDIN_FILENO, &attr); tcgetattr(STDIN_FILENO, &attr_raw); -- cgit v1.3.1-4-g156e