diff --git a/repos/gems/src/server/terminal/main.cc b/repos/gems/src/server/terminal/main.cc index fbacec3b4..870a2a182 100644 --- a/repos/gems/src/server/terminal/main.cc +++ b/repos/gems/src/server/terminal/main.cc @@ -368,7 +368,7 @@ void Terminal::Main::_handle_input() if (special_sequence) _read_buffer.add(special_sequence); - else + else if (codepoint.valid()) _read_buffer.add(codepoint); }); }); diff --git a/repos/os/include/util/utf8.h b/repos/os/include/util/utf8.h index 8bf229def..0caa452ec 100644 --- a/repos/os/include/util/utf8.h +++ b/repos/os/include/util/utf8.h @@ -25,7 +25,7 @@ namespace Genode { struct Genode::Codepoint { - static constexpr uint32_t INVALID = 0xfffd; + static constexpr uint32_t INVALID = 0xfffe; uint32_t value; diff --git a/repos/os/src/test/utf8/main.cc b/repos/os/src/test/utf8/main.cc index cb47385b3..57ec2551c 100644 --- a/repos/os/src/test/utf8/main.cc +++ b/repos/os/src/test/utf8/main.cc @@ -107,7 +107,7 @@ void Component::construct(Genode::Env &env) Expect_codepoint(0x3b5)); /* 2.1.1 1 byte (U-00000000) */ - test("�", Expect_invalid(), Expect_end()); + test("\x00", Expect_codepoint(0x00), Expect_end()); /* 2.1.2 2 bytes (U-00000080) */ test("\xc2\x80", Expect_codepoint(0x80), Expect_end());