mirror of
https://git.yoctoproject.org/poky
synced 2026-05-09 17:39:31 +00:00
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.
(From OE-Core rev: fc89bfa89aa785871f7999f2835dbcea06e2823b)
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
fa231eaf9b
commit
a86a2b5858
+66
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user