aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHongxu Jia <hongxu.jia@windriver.com>2017-08-17 03:15:07 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-08-18 10:40:08 +0100
commitfc89bfa89aa785871f7999f2835dbcea06e2823b (patch)
treef27e55755bc98c059fcde2df479596d7435065ff
parent5dc1700ec6ff15aefb8ca540e5b7d3e89a14945b (diff)
downloadopenembedded-core-contrib-fc89bfa89aa785871f7999f2835dbcea06e2823b.tar.gz
mc: unify curses initialization
Since ncurses upgraded to 6.0+20170715, it compile failed ... | ../../../mc-4.8.19/lib/tty/tty-ncurses.c:199:13: error: dereferencing pointer to incomplete type 'TERMINAL {aka struct term}' | cur_term->Nttyb.c_cc[VINTR] = CTRL ('g'); /* ^g */ | ^~ ... Backport a patch from upstream fixed the issue. Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-extended/mc/files/0002-Ticket-3697-tty_init-unify-curses-initialization.patch66
-rw-r--r--meta/recipes-extended/mc/mc_4.8.19.bb1
2 files changed, 67 insertions, 0 deletions
diff --git a/meta/recipes-extended/mc/files/0002-Ticket-3697-tty_init-unify-curses-initialization.patch b/meta/recipes-extended/mc/files/0002-Ticket-3697-tty_init-unify-curses-initialization.patch
new file mode 100644
index 0000000000..c54d4d0eae
--- /dev/null
+++ b/meta/recipes-extended/mc/files/0002-Ticket-3697-tty_init-unify-curses-initialization.patch
@@ -0,0 +1,66 @@
+From 4d46a108629beb66a293672db7b44f863b6598ba Mon Sep 17 00:00:00 2001
+From: Thomas Dickey <dickey@his.com>
+Date: Fri, 14 Apr 2017 14:06:13 +0300
+Subject: [PATCH] Ticket #3697: (tty_init): unify curses initialization
+
+...for various curses implementations.
+
+Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
+
+Upstream-Status: Backport [https://github.com/MidnightCommander/mc.git]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+
+---
+ lib/tty/tty-ncurses.c | 26 +++++++++-----------------
+ 1 file changed, 9 insertions(+), 17 deletions(-)
+
+diff --git a/lib/tty/tty-ncurses.c b/lib/tty/tty-ncurses.c
+index a7a11f3..8e69b39 100644
+--- a/lib/tty/tty-ncurses.c
++++ b/lib/tty/tty-ncurses.c
+@@ -179,6 +179,8 @@ mc_tty_normalize_lines_char (const char *ch)
+ void
+ tty_init (gboolean mouse_enable, gboolean is_xterm)
+ {
++ struct termios mode;
++
+ initscr ();
+
+ #ifdef HAVE_ESCDELAY
+@@ -194,25 +196,15 @@ tty_init (gboolean mouse_enable, gboolean is_xterm)
+ ESCDELAY = 200;
+ #endif /* HAVE_ESCDELAY */
+
+-#ifdef NCURSES_VERSION
++ tcgetattr (STDIN_FILENO, &mode);
+ /* use Ctrl-g to generate SIGINT */
+- cur_term->Nttyb.c_cc[VINTR] = CTRL ('g'); /* ^g */
++ mode.c_cc[VINTR] = CTRL ('g'); /* ^g */
+ /* disable SIGQUIT to allow use Ctrl-\ key */
+- cur_term->Nttyb.c_cc[VQUIT] = NULL_VALUE;
+- tcsetattr (cur_term->Filedes, TCSANOW, &cur_term->Nttyb);
+-#else
+- /* other curses implementation (bsd curses, ...) */
+- {
+- struct termios mode;
+-
+- tcgetattr (STDIN_FILENO, &mode);
+- /* use Ctrl-g to generate SIGINT */
+- mode.c_cc[VINTR] = CTRL ('g'); /* ^g */
+- /* disable SIGQUIT to allow use Ctrl-\ key */
+- mode.c_cc[VQUIT] = NULL_VALUE;
+- tcsetattr (STDIN_FILENO, TCSANOW, &mode);
+- }
+-#endif /* NCURSES_VERSION */
++ mode.c_cc[VQUIT] = NULL_VALUE;
++ tcsetattr (STDIN_FILENO, TCSANOW, &mode);
++
++ /* curses remembers the "in-program" modes after this call */
++ def_prog_mode ();
+
+ tty_start_interrupt_key ();
+
+--
+2.7.4
+
diff --git a/meta/recipes-extended/mc/mc_4.8.19.bb b/meta/recipes-extended/mc/mc_4.8.19.bb
index 20ef9dd9d0..b3a156caee 100644
--- a/meta/recipes-extended/mc/mc_4.8.19.bb
+++ b/meta/recipes-extended/mc/mc_4.8.19.bb
@@ -8,6 +8,7 @@ RDEPENDS_${PN} = "ncurses-terminfo"
SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \
file://0001-mc-replace-perl-w-with-use-warnings.patch \
+ file://0002-Ticket-3697-tty_init-unify-curses-initialization.patch \
"
SRC_URI[md5sum] = "ef423f5b6f80a1a5a5fc53b8324cab70"
SRC_URI[sha256sum] = "d0dddfae7149fac903f74ef55cfcb2a198e0f7004346c7bded43669d61ba436f"