Re: Batch of QNX6 fixes
- From: "Andrew V. Samoilov" <andrew email zp ua>
- To: mc-devel gnome org
- Cc: Mike Gorchak <lestat i com ua>
- Subject: Re: Batch of QNX6 fixes
- Date: Fri, 17 Sep 2004 19:11:30 +0300 (EEST)
Hello Mike!
> 2) sldisplay.diff - consists of three different chunks. First - special
> backspace condition, which is not fully functional in qansi-m terminal.
> Second - is reverse test for the qansi-m terminal, this strcmp call is looks
> not very clear :) Third - I thinks it was an error in the selection of
> Del_Bol_Str and Del_Eol_Str.
Here is second approximation of this patch. I am not shure about Del_Bol_Str and Del_Eol_Str, it seems we need to ask S-Lang author.
--
Regards,
Andrew V. Samoilov.
--- mc/slang/sldisply.c Tue Aug 31 17:42:47 2004
+++ mc/slang/sldisply.c Fri Sep 17 16:16:13 2004
@@ -695,6 +695,8 @@ int SLtt_set_cursor_visibility (int show
return 0;
}
+static int is_qansi_m = 0;
+
/* the goto_rc function moves to row relative to scrolling region */
void SLtt_goto_rc(int r, int c)
{
@@ -727,12 +727,14 @@ void SLtt_goto_rc(int r, int c)
if (Cursor_c == c) return;
if (Cursor_c == c + 1)
{
- s = buf;
- *s++ = '\b'; *s = 0;
- s = buf;
+#ifndef /* __QNXNTO__ */
+ s = "\b";
+#else
+ s = NULL;
+#endif /* __QNXNTO__ */
}
}
- else if (c == 0)
+ else if (c == 0 && !is_qansi_m)
{
s = buf;
if ((Cursor_Set != 1) || (Cursor_c != 0)) *s++ = '\r';
@@ -2140,6 +2140,8 @@ int SLtt_initialize (char *term)
|| is_xterm
|| !strcmp (term, "screen"));
+ is_qansi_m = !strcmp (term, "qansi-m");
+
# ifndef USE_TERMCAP
if (NULL == (Terminfo = _SLtt_tigetent (term)))
{
@@ -2224,7 +2226,7 @@ int SLtt_initialize (char *term)
if (is_xterm && (Del_Bol_Str == NULL))
Del_Bol_Str = "\033[1K";
if (is_xterm && (Del_Eol_Str == NULL))
- Del_Bol_Str = "\033[K";
+ Del_Eol_Str = "\033[K";
Rev_Vid_Str = SLtt_tgetstr("mr");
if (Rev_Vid_Str == NULL) Rev_Vid_Str = SLtt_tgetstr("so");
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]