From 03ec5ef5747da4f4b2913313fe6527491db330f2 Mon Sep 17 00:00:00 2001 From: "Enrico Weigelt, metux IT service" Date: Wed, 4 Feb 2009 00:29:28 +0100 Subject: [PATCH] backported #199 branch --- ChangeLog | 3 +++ acinclude.m4 | 39 ------------------------------------ src/slint.c | 64 ++---------------------------------------------------------- 3 files changed, 5 insertions(+), 101 deletions(-) diff --git a/ChangeLog b/ChangeLog index ed3c7f673..074fc5817 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2009-02-01 Enrico Weigelt, metux ITS + * acinclude.m4: removed MC_SLANG_PRIVATE macro + * src/slint.c: removed HAVE_SLANG_PRIVATE conditional and + replaced SLang_getkey2(), SLang_input_pending2() * src/util.c: fixed name_trunc() on NULL or empty parameters * src/achown.c: fixed unitialized var in init_chown_advanced() (patch from andrew_b) diff --git a/acinclude.m4 b/acinclude.m4 index f4c0e3bc5..aa2c6faef 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -299,44 +299,6 @@ AC_DEFUN([MC_USE_TERMCAP], [ dnl -dnl Check if private functions are available for linking -dnl -AC_DEFUN([MC_SLANG_PRIVATE], [ - AC_CACHE_CHECK([if S-Lang exports private functions], - [mc_cv_slang_private], [ - ac_save_LIBS="$LIBS" - LIBS="$LIBS -lslang" - AC_TRY_LINK([ - #ifdef HAVE_SLANG_SLANG_H - #include - #else - #include - #endif - #if SLANG_VERSION >= 10000 - extern unsigned int SLsys_getkey (void); - #else - extern unsigned int _SLsys_getkey (void); - #endif - ], [ - #if SLANG_VERSION >= 10000 - _SLsys_getkey (); - #else - SLsys_getkey (); - #endif - ], - [mc_cv_slang_private=yes], - [mc_cv_slang_private=no]) - LIBS="$ac_save_LIBS" - ]) - - if test x$mc_cv_slang_private = xyes; then - AC_DEFINE(HAVE_SLANG_PRIVATE, 1, - [Define if private S-Lang functions are available]) - fi -]) - - -dnl dnl Check if the installed S-Lang library uses termcap dnl AC_DEFUN([MC_SLANG_TERMCAP], [ @@ -411,7 +373,6 @@ it's not fully supported yet]) if test x$with_screen = xslang; then AC_DEFINE(HAVE_SYSTEM_SLANG, 1, [Define to use S-Lang library installed on the system]) - MC_SLANG_PRIVATE screen_type=slang screen_msg="S-Lang library (installed on the system)" else diff --git a/src/slint.c b/src/slint.c index c30fac1b1..cf8732204 100644 --- a/src/slint.c +++ b/src/slint.c @@ -77,66 +77,6 @@ static int no_slang_delay; /* Forward declarations */ static void load_terminfo_keys (void); -#ifndef HAVE_SLANG_PRIVATE -/* Private interfaces have been stripped, so we cannot use them */ -#define SLang_getkey2() SLang_getkey() -#define SLang_input_pending2(s) SLang_input_pending(s) -#else -/* Copied from ../slang/slgetkey.c, removed the DEC_8Bit_HACK. */ -extern unsigned char SLang_Input_Buffer []; -#if SLANG_VERSION >= 10000 -extern unsigned int _SLsys_getkey (void); -extern int _SLsys_input_pending (int); -#else -extern unsigned int SLsys_getkey (void); -extern int SLsys_input_pending (int); -#endif - -static unsigned int SLang_getkey2 (void) -{ - unsigned int imax; - unsigned int ch; - - if (SLang_Input_Buffer_Len) - { - ch = (unsigned int) *SLang_Input_Buffer; - SLang_Input_Buffer_Len--; - imax = SLang_Input_Buffer_Len; - - memmove ((char *) SLang_Input_Buffer, - (char *) (SLang_Input_Buffer + 1), imax); - return(ch); - } -#if SLANG_VERSION >= 10000 - else return(_SLsys_getkey ()); -#else - else return(SLsys_getkey()); -#endif -} - -static int SLang_input_pending2 (int tsecs) -{ - int n, i; - unsigned char c; - - if (SLang_Input_Buffer_Len) return (int) SLang_Input_Buffer_Len; -#if SLANG_VERSION >= 10000 - n = _SLsys_input_pending (tsecs); -#else - n = SLsys_input_pending (tsecs); -#endif - if (n <= 0) return 0; - - i = SLang_getkey2 (); - if (i == SLANG_GETKEY_ERROR) - return 0; /* don't put crippled error codes into the input buffer */ - c = (unsigned char)i; - SLang_ungetkey_string (&c, 1); - - return n; -} -#endif /* HAVE_SLANG_PRIVATE */ - /* Only done the first time */ void slang_init (void) @@ -465,10 +405,10 @@ getch (void) { int c; if (no_slang_delay) - if (SLang_input_pending2 (0) == 0) + if (SLang_input_pending (0) == 0) return -1; - c = SLang_getkey2 (); + c = SLang_getkey (); if (c == SLANG_GETKEY_ERROR) { fprintf (stderr, "SLang_getkey returned SLANG_GETKEY_ERROR\n" -- 2.11.4.GIT