summaryrefslogtreecommitdiff
path: root/src/include/pc80
diff options
context:
space:
mode:
authorHsuan Ting Chen <roccochen@chromium.org>2023-02-20 11:49:35 +0800
committerJakub Czapiga <jacz@semihalf.com>2023-04-28 09:39:06 +0000
commit26a955507379f6933e4287fbbbae7b618657cf48 (patch)
treec3ffaab396978c9022cf37ff5c3498d65f71915b /src/include/pc80
parent533f1e78d6658f1a21ccdc33f64fe38fd068ee2b (diff)
vga: Change the arguments of vga_write_text to support extended ASCII
VGA defined the extended ASCII set based on CP437, but the function vga_write_text() accepts a signed char array. This will cause unnecessary confusion that if we want to print u with umlaut (code=129 in CP437), we need to explicitly cast it to -127 in signed char. Since we still want to leverage the built-in string utilities which only accepts const char*, we still need to cast it to signed char while processing, and cast it back to unsigned once we write into the frame buffer. BRANCH=brya BUG=b:264666392 TEST=emerge-brya coreboot chromeos-bootimage Signed-off-by: Hsuan Ting Chen <roccochen@chromium.org> Change-Id: If555bbc05f40ce3f02339c0468afff6dda8b7ded Reviewed-on: https://review.coreboot.org/c/coreboot/+/73099 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Tarun Tuli <taruntuli@google.com>
Diffstat (limited to 'src/include/pc80')
-rw-r--r--src/include/pc80/vga.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/include/pc80/vga.h b/src/include/pc80/vga.h
index ec012f5bdf..7a97afe5e5 100644
--- a/src/include/pc80/vga.h
+++ b/src/include/pc80/vga.h
@@ -33,6 +33,7 @@ void vga_line_write(unsigned int line, const char *string);
* vga_write_text() writes a line of text aligned left/center/right
* horizontally on the screen (i.e. enum VGA_TEXT_ALIGNMENT)
*/
-void vga_write_text(enum VGA_TEXT_ALIGNMENT alignment, unsigned int line, const char *string);
+void vga_write_text(enum VGA_TEXT_ALIGNMENT alignment, unsigned int line,
+ const unsigned char *ustring);
#endif /* VGA_H */