updated: [03ec5ef] backported #199 branch

Enrico Weigelt, metux IT service weigelt at metux.de
Tue Feb 3 23:30:41 UTC 2009


The following commit has been merged in the mc-4.6 branch:
commit 03ec5ef5747da4f4b2913313fe6527491db330f2
Author: Enrico Weigelt, metux IT service <weigelt at metux.de>
Date:   Wed Feb 4 00:29:28 2009 +0100

    backported #199 branch

diff --git a/ChangeLog b/ChangeLog
index ed3c7f6..074fc58 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2009-02-01 Enrico Weigelt, metux ITS <weigelt at metux.de>
 
+	* 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 f4c0e3b..aa2c6fa 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 <slang/slang.h>
-		     #else
-		     #include <slang.h>
-		     #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 c30fac1..cf87322 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"

-- 
Midnight Commander Development



More information about the mc-devel mailing list