|
@@ -0,0 +1,93 @@
|
|
|
+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,
|
|
|
+ };
|