Files
MilkV-Duo/buildroot-2021.05/package/fbterm/0003-C++11-compliance.patch
sam.xiang e38fbf739c [buildroot] create buildroot-2021.05 from github
repo: https://github.com/buildroot/buildroot/tree/2021.05
	commit: 69f79f2a2ee1417e19c1ead2c9226e11753c06cb

	Update for 2021.05

Change-Id: I77d6d14da04483c97cb172bf6732732012e538d9
2023-03-13 23:30:54 +08:00

94 lines
2.2 KiB
Diff
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

lib/vterm_states: fix C++11 compliance
In C++11, narrowing a type is no longer allowed in structure
initializers:
struct foo { u16 u; };
foo f[] = { {0}, {-1} };
results in the gcc-6 to whine out loudly, and fail:
error: narrowing conversion of -1 from int to u16 {aka short unsigned int} inside { } [-Wnarrowing]
};
^
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
diff -durN fbterm-1.7.0.orig/src/lib/vterm_states.cpp fbterm-1.7.0/src/lib/vterm_states.cpp
--- fbterm-1.7.0.orig/src/lib/vterm_states.cpp 2010-10-06 06:23:08.000000000 +0200
+++ fbterm-1.7.0/src/lib/vterm_states.cpp 2016-08-13 16:54:29.495451127 +0200
@@ -22,6 +22,7 @@
#include "vterm.h"
#define ADDSAME(len) ((len) << 8)
+#define ENDSEQ { ((u16)-1) }
const VTerm::Sequence VTerm::control_sequences[] = {
{ 0, 0, ESkeep },
@@ -39,14 +40,14 @@
{ 0x1B, 0, ESesc },
{ 0x7F, 0, ESkeep },
{ 0x9B, 0, ESsquare },
- { -1}
+ ENDSEQ
};
const VTerm::Sequence VTerm::escape_sequences[] = {
{ 0, 0, ESnormal },
// ESnormal
- { -1 },
+ ENDSEQ,
// ESesc
{ '[', &VTerm::clear_param, ESsquare },
@@ -65,7 +66,7 @@
{ '8', &VTerm::restore_cursor, ESnormal },
{ '>', &VTerm::keypad_numeric, ESnormal },
{ '=', &VTerm::keypad_application, ESnormal },
- { -1 },
+ ENDSEQ,
// ESsquare
{ '[', 0, ESfunckey },
@@ -104,7 +105,7 @@
{ '`', &VTerm::cursor_position_col, ESnormal },
{ ']', &VTerm::linux_specific, ESnormal },
{ '}', &VTerm::fbterm_specific, ESnormal },
- { -1 },
+ ENDSEQ,
// ESnonstd
{ '0' | ADDSAME(9), &VTerm::set_palette, ESkeep },
@@ -112,25 +113,25 @@
{ 'a' | ADDSAME(5), &VTerm::set_palette, ESkeep },
{ 'P', &VTerm::begin_set_palette, ESkeep },
{ 'R', &VTerm::reset_palette, ESnormal },
- { -1 },
+ ENDSEQ,
// ESpercent
{ '@', &VTerm::clear_utf8, ESnormal },
{ 'G', &VTerm::set_utf8, ESnormal },
{ '8', &VTerm::set_utf8, ESnormal },
- { -1 },
+ ENDSEQ,
// EScharset
{ '0', &VTerm::set_charset, ESnormal },
{ 'B', &VTerm::set_charset, ESnormal },
{ 'U', &VTerm::set_charset, ESnormal },
{ 'K', &VTerm::set_charset, ESnormal },
- { -1 },
+ ENDSEQ,
// EShash
{ '8', &VTerm::screen_align, ESnormal },
- { -1 },
+ ENDSEQ,
// ESfunckey
- { -1 },
+ ENDSEQ,
};