From 6247254f556693a87ef15adbc1ddc7e108384a84 Mon Sep 17 00:00:00 2001 From: Pavel Roskin Date: Tue, 22 Oct 2002 04:16:07 +0000 Subject: [PATCH] * myslang.h: Add a replacement for addch(), which expects a wchar_t argument in patched S-Lang on Red Hat 8.0. --- src/ChangeLog | 5 +++++ src/myslang.h | 16 ++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/src/ChangeLog b/src/ChangeLog index ce2b7aade..d4dcf8b6e 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2002-10-22 Pavel Roskin + + * myslang.h: Add a replacement for addch(), which expects a + wchar_t argument in patched S-Lang on Red Hat 8.0. + 2002-10-21 Pavel Roskin * main.c (print_mc_usage): Remove unnecessary newline. diff --git a/src/myslang.h b/src/myslang.h index 33ebac089..ae3bbd3b2 100644 --- a/src/myslang.h +++ b/src/myslang.h @@ -101,7 +101,23 @@ int has_colors (void); #define COLS SLtt_Screen_Cols #define LINES SLtt_Screen_Rows #define standend() SLsmg_normal_video() + +#ifdef UTF8 +/* + * Patched S-Lang in Red Hat 8.0 expects wchar_t as the argument to addch() + * Avoid conversion by using SLsmg_write_nchars(), which takes char* + */ +#undef addch +static inline void +mc_addch (char c) +{ + SLsmg_write_nchars (&c, 1); +} +#define addch(c) mc_addch(c) +#else #define addch(c) SLsmg_write_char(c) +#endif + #define addstr(s) SLsmg_write_string(s) #define refresh() SLsmg_refresh() #define mvaddstr(y, x, s) SLsmg_gotorc(y, x); SLsmg_write_string(s)