diff options
author | Hongxu Jia <hongxu.jia@windriver.com> | 2017-08-17 03:15:07 -0400 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-08-18 10:40:27 +0100 |
commit | a86a2b5858a41e439c16f4d743eb320ab75360be (patch) | |
tree | c66ce45773263dd27e1337c0859c96a490b2199d | |
parent | fa231eaf9b2865d42e5b5eb7944da65a97693cc9 (diff) | |
download | poky-a86a2b5858a41e439c16f4d743eb320ab75360be.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.
(From OE-Core rev: fc89bfa89aa785871f7999f2835dbcea06e2823b)
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.patch | 66 | ||||
-rw-r--r-- | meta/recipes-extended/mc/mc_4.8.19.bb | 1 |
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 @@ | |||
1 | From 4d46a108629beb66a293672db7b44f863b6598ba Mon Sep 17 00:00:00 2001 | ||
2 | From: Thomas Dickey <dickey@his.com> | ||
3 | Date: Fri, 14 Apr 2017 14:06:13 +0300 | ||
4 | Subject: [PATCH] Ticket #3697: (tty_init): unify curses initialization | ||
5 | |||
6 | ...for various curses implementations. | ||
7 | |||
8 | Signed-off-by: Andrew Borodin <aborodin@vmail.ru> | ||
9 | |||
10 | Upstream-Status: Backport [https://github.com/MidnightCommander/mc.git] | ||
11 | |||
12 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
13 | |||
14 | --- | ||
15 | lib/tty/tty-ncurses.c | 26 +++++++++----------------- | ||
16 | 1 file changed, 9 insertions(+), 17 deletions(-) | ||
17 | |||
18 | diff --git a/lib/tty/tty-ncurses.c b/lib/tty/tty-ncurses.c | ||
19 | index a7a11f3..8e69b39 100644 | ||
20 | --- a/lib/tty/tty-ncurses.c | ||
21 | +++ b/lib/tty/tty-ncurses.c | ||
22 | @@ -179,6 +179,8 @@ mc_tty_normalize_lines_char (const char *ch) | ||
23 | void | ||
24 | tty_init (gboolean mouse_enable, gboolean is_xterm) | ||
25 | { | ||
26 | + struct termios mode; | ||
27 | + | ||
28 | initscr (); | ||
29 | |||
30 | #ifdef HAVE_ESCDELAY | ||
31 | @@ -194,25 +196,15 @@ tty_init (gboolean mouse_enable, gboolean is_xterm) | ||
32 | ESCDELAY = 200; | ||
33 | #endif /* HAVE_ESCDELAY */ | ||
34 | |||
35 | -#ifdef NCURSES_VERSION | ||
36 | + tcgetattr (STDIN_FILENO, &mode); | ||
37 | /* use Ctrl-g to generate SIGINT */ | ||
38 | - cur_term->Nttyb.c_cc[VINTR] = CTRL ('g'); /* ^g */ | ||
39 | + mode.c_cc[VINTR] = CTRL ('g'); /* ^g */ | ||
40 | /* disable SIGQUIT to allow use Ctrl-\ key */ | ||
41 | - cur_term->Nttyb.c_cc[VQUIT] = NULL_VALUE; | ||
42 | - tcsetattr (cur_term->Filedes, TCSANOW, &cur_term->Nttyb); | ||
43 | -#else | ||
44 | - /* other curses implementation (bsd curses, ...) */ | ||
45 | - { | ||
46 | - struct termios mode; | ||
47 | - | ||
48 | - tcgetattr (STDIN_FILENO, &mode); | ||
49 | - /* use Ctrl-g to generate SIGINT */ | ||
50 | - mode.c_cc[VINTR] = CTRL ('g'); /* ^g */ | ||
51 | - /* disable SIGQUIT to allow use Ctrl-\ key */ | ||
52 | - mode.c_cc[VQUIT] = NULL_VALUE; | ||
53 | - tcsetattr (STDIN_FILENO, TCSANOW, &mode); | ||
54 | - } | ||
55 | -#endif /* NCURSES_VERSION */ | ||
56 | + mode.c_cc[VQUIT] = NULL_VALUE; | ||
57 | + tcsetattr (STDIN_FILENO, TCSANOW, &mode); | ||
58 | + | ||
59 | + /* curses remembers the "in-program" modes after this call */ | ||
60 | + def_prog_mode (); | ||
61 | |||
62 | tty_start_interrupt_key (); | ||
63 | |||
64 | -- | ||
65 | 2.7.4 | ||
66 | |||
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" | |||
8 | 8 | ||
9 | SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \ | 9 | SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \ |
10 | file://0001-mc-replace-perl-w-with-use-warnings.patch \ | 10 | file://0001-mc-replace-perl-w-with-use-warnings.patch \ |
11 | file://0002-Ticket-3697-tty_init-unify-curses-initialization.patch \ | ||
11 | " | 12 | " |
12 | SRC_URI[md5sum] = "ef423f5b6f80a1a5a5fc53b8324cab70" | 13 | SRC_URI[md5sum] = "ef423f5b6f80a1a5a5fc53b8324cab70" |
13 | SRC_URI[sha256sum] = "d0dddfae7149fac903f74ef55cfcb2a198e0f7004346c7bded43669d61ba436f" | 14 | SRC_URI[sha256sum] = "d0dddfae7149fac903f74ef55cfcb2a198e0f7004346c7bded43669d61ba436f" |