вышел. вот и славненько. но с ncurses не собирается. господа разработчики, вы хоть скомпилировать все возможные конфигурации пытайтесь, прежде чем релизить (я уж молчу про тестирование)
--- mc-4.8.11/lib/tty/key.c.orig 2013-11-29 20:27:07.000000000 +0200
+++ mc-4.8.11/lib/tty/key.c 2013-12-02 12:33:30.425849204 +0200
@@ -1952,6 +1952,9 @@
struct timeval time_out;
struct timeval *time_addr = NULL;
static int dirty = 3;
+#ifndef HAVE_SLANG
+ int flag;
+#endif
if ((dirty == 3) || is_idle ())
{
@@ -1978,7 +1981,7 @@
while (pending_keys == NULL)
{
int nfd;
- static int flag = 0; /* Return value from select */
+ static int sflag = 0; /* Return value from select */
fd_set select_set;
FD_ZERO (&select_set);
@@ -2047,7 +2050,7 @@
}
tty_enable_interrupt_key ();
- flag = select (nfd, &select_set, NULL, NULL, time_addr);
+ sflag = select (nfd, &select_set, NULL, NULL, time_addr);
tty_disable_interrupt_key ();
/* select timed out: it could be for any of the following reasons:
@@ -2055,7 +2058,7 @@
* !block -> we did not block in the select call
* else -> 10 second timeout to check the vfs status.
*/
- if (flag == 0)
+ if (sflag == 0)
{
if (redo_event)
return EV_MOUSE;
@@ -2063,7 +2066,7 @@
return EV_NONE;
vfs_timeout_handler ();
}
- if (flag == -1 && errno == EINTR)
+ if (sflag == -1 && errno == EINTR)
return EV_NONE;
check_selects (&select_set);
--- mc-4.8.11/lib/tty/tty-ncurses.c.orig 2013-11-29 20:27:07.000000000 +0200
+++ mc-4.8.11/lib/tty/tty-ncurses.c 2013-12-02 12:30:01.947851997 +0200
@@ -51,6 +51,7 @@
#include "color-internal.h"
#include "mouse.h"
#include "win.h"
+#include "key.h"
/* include at last !!! */
#ifdef WANT_TERM_H
@@ -529,6 +530,7 @@
{
if (mc_global.utf8_display || c > 255)
{
+ unsigned char str[UTF8_CHAR_LEN + 1];
int res;
res = g_unichar_to_utf8 (c, (char *) str);
@@ -540,7 +542,6 @@
}
else
{
- unsigned char str[UTF8_CHAR_LEN + 1];
const char *s;
str[res] = '\0';