forked from Bananymous/banan-os
				
			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() | 	BAN::Optional<TerminalDriver::Color> VirtualTTY::get_8bit_color() | ||||||
| 	{ | 	{ | ||||||
| 		ASSERT(m_ansi_state.nums[1] == 5); | 		ASSERT(m_ansi_state.nums[1] == 5); | ||||||
| 		if (m_ansi_state.nums[2] < 1) | 		if (m_ansi_state.nums[2] < 0) | ||||||
| 			return {}; | 			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) | 		if (code < 16) | ||||||
| 			return m_palette[code]; | 			return m_palette[code]; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -383,10 +383,10 @@ void Terminal::handle_sgr(int32_t value) | ||||||
| BAN::Optional<uint32_t> Terminal::get_8bit_color() | BAN::Optional<uint32_t> Terminal::get_8bit_color() | ||||||
| { | { | ||||||
| 	ASSERT(m_csi_info.fields[1] == 5); | 	ASSERT(m_csi_info.fields[1] == 5); | ||||||
| 	if (m_csi_info.fields[2] < 1) | 	if (m_csi_info.fields[2] < 0) | ||||||
| 		return {}; | 		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) | 	if (code < 8) | ||||||
| 		return s_colors_dark[code]; | 		return s_colors_dark[code]; | ||||||
| 	if (code < 16) | 	if (code < 16) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue