зеркало из https://github.com/github/putty.git
When processing input, refer to CR and LF as \015 and \012 respectively,
rather than \r and \n. The latter tend to get swapped around by Mac C compilers. [originally from svn r2225]
This commit is contained in:
Родитель
285acf7ed2
Коммит
b31bf55bc0
12
terminal.c
12
terminal.c
|
@ -1227,7 +1227,7 @@ void term_out(Terminal *term)
|
||||||
}
|
}
|
||||||
/* Are we in the nasty ACS mode? Note: no sco in utf mode. */
|
/* Are we in the nasty ACS mode? Note: no sco in utf mode. */
|
||||||
else if(term->sco_acs &&
|
else if(term->sco_acs &&
|
||||||
(c!='\033' && c!='\n' && c!='\r' && c!='\b'))
|
(c!='\033' && c!='\012' && c!='\015' && c!='\b'))
|
||||||
{
|
{
|
||||||
if (term->sco_acs == 2) c ^= 0x80;
|
if (term->sco_acs == 2) c ^= 0x80;
|
||||||
c |= ATTR_SCOACS;
|
c |= ATTR_SCOACS;
|
||||||
|
@ -1413,7 +1413,7 @@ void term_out(Terminal *term)
|
||||||
term->esc_query = FALSE;
|
term->esc_query = FALSE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case '\r':
|
case '\015':
|
||||||
term->curs.x = 0;
|
term->curs.x = 0;
|
||||||
term->wrapnext = FALSE;
|
term->wrapnext = FALSE;
|
||||||
fix_cpos;
|
fix_cpos;
|
||||||
|
@ -1433,7 +1433,7 @@ void term_out(Terminal *term)
|
||||||
}
|
}
|
||||||
case '\013':
|
case '\013':
|
||||||
compatibility(VT100);
|
compatibility(VT100);
|
||||||
case '\n':
|
case '\012':
|
||||||
if (term->curs.y == term->marg_b)
|
if (term->curs.y == term->marg_b)
|
||||||
scroll(term, term->marg_t, term->marg_b, 1, TRUE);
|
scroll(term, term->marg_t, term->marg_b, 1, TRUE);
|
||||||
else if (term->curs.y < term->rows - 1)
|
else if (term->curs.y < term->rows - 1)
|
||||||
|
@ -2500,7 +2500,7 @@ void term_out(Terminal *term)
|
||||||
*
|
*
|
||||||
* -- RDB
|
* -- RDB
|
||||||
*/
|
*/
|
||||||
if (c == '\n' || c == '\r') {
|
if (c == '\012' || c == '\015') {
|
||||||
term->termstate = TOPLEVEL;
|
term->termstate = TOPLEVEL;
|
||||||
} else if (c == 0234 || c == '\007') {
|
} else if (c == 0234 || c == '\007') {
|
||||||
/*
|
/*
|
||||||
|
@ -3555,7 +3555,7 @@ void term_do_paste(Terminal *term)
|
||||||
|
|
||||||
if (p <= data + len - sel_nl_sz &&
|
if (p <= data + len - sel_nl_sz &&
|
||||||
!memcmp(p, sel_nl, sizeof(sel_nl))) {
|
!memcmp(p, sel_nl, sizeof(sel_nl))) {
|
||||||
term->paste_buffer[term->paste_len++] = '\r';
|
term->paste_buffer[term->paste_len++] = '\015';
|
||||||
p += sel_nl_sz;
|
p += sel_nl_sz;
|
||||||
}
|
}
|
||||||
q = p;
|
q = p;
|
||||||
|
@ -3814,7 +3814,7 @@ void term_paste(Terminal *term)
|
||||||
while (term->paste_pos < term->paste_len) {
|
while (term->paste_pos < term->paste_len) {
|
||||||
int n = 0;
|
int n = 0;
|
||||||
while (n + term->paste_pos < term->paste_len) {
|
while (n + term->paste_pos < term->paste_len) {
|
||||||
if (term->paste_buffer[term->paste_pos + n++] == '\r')
|
if (term->paste_buffer[term->paste_pos + n++] == '\015')
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (term->ldisc)
|
if (term->ldisc)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче