Kernel/Terminal: Fix ANSI SGR 8 bit color parsing
This commit is contained in:
parent
49f203d61d
commit
cfeabc4580
|
@ -149,10 +149,10 @@ namespace Kernel
|
|||
BAN::Optional<TerminalDriver::Color> VirtualTTY::get_8bit_color()
|
||||
{
|
||||
ASSERT(m_ansi_state.nums[1] == 5);
|
||||
if (m_ansi_state.nums[2] < 1)
|
||||
if (m_ansi_state.nums[2] < 0)
|
||||
return {};
|
||||
|
||||
const uint8_t code = BAN::Math::min(m_ansi_state.nums[2], 256) - 1;
|
||||
const uint8_t code = BAN::Math::min(m_ansi_state.nums[2], 255);
|
||||
if (code < 16)
|
||||
return m_palette[code];
|
||||
|
||||
|
|
|
@ -383,10 +383,10 @@ void Terminal::handle_sgr(int32_t value)
|
|||
BAN::Optional<uint32_t> Terminal::get_8bit_color()
|
||||
{
|
||||
ASSERT(m_csi_info.fields[1] == 5);
|
||||
if (m_csi_info.fields[2] < 1)
|
||||
if (m_csi_info.fields[2] < 0)
|
||||
return {};
|
||||
|
||||
const uint8_t code = BAN::Math::min(m_csi_info.fields[2], 256) - 1;
|
||||
const uint8_t code = BAN::Math::min(m_csi_info.fields[2], 255);
|
||||
if (code < 8)
|
||||
return s_colors_dark[code];
|
||||
if (code < 16)
|
||||
|
|
Loading…
Reference in New Issue