mirror of
https://github.com/systemd/systemd
synced 2024-10-14 12:04:49 +00:00
shared/ptyfwd: detect String Terminator or BEL when parsing an OSC sequence
This commit is contained in:
parent
9eb118eea7
commit
d848a94998
|
@ -507,9 +507,15 @@ static int pty_forward_ansi_process(PTYForward *f, size_t offset) {
|
|||
} else if (!strextend(&f->osc_sequence, CHAR_TO_STR(c)))
|
||||
return -ENOMEM;
|
||||
} else {
|
||||
/* Otherwise, the OSC sequence is over */
|
||||
/* Otherwise, the OSC sequence is over
|
||||
*
|
||||
* There are two allowed ways to end an OSC sequence:
|
||||
* BEL '\x07'
|
||||
* String Terminator (ST): <Esc>\ - "\x1b\x5c"
|
||||
* since we cannot lookahead to see if the Esc is followed by a \
|
||||
* we cut a corner here and assume it will be \. */
|
||||
|
||||
if (c == '\x07') {
|
||||
if (c == '\x07' || c == '\x1b') {
|
||||
r = insert_window_title_fix(f, i+1);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
|
Loading…
Reference in a new issue