terminology: Check for 7-bit ST (ESC \)
SVN revision: 77484
This commit is contained in:
parent
2b8026c24c
commit
64d87067ba
|
@ -20,6 +20,7 @@
|
||||||
|
|
||||||
#define ST 0x9c // String Terminator
|
#define ST 0x9c // String Terminator
|
||||||
#define BEL 0x07 // Bell
|
#define BEL 0x07 // Bell
|
||||||
|
#define ESC 033 // Escape
|
||||||
|
|
||||||
static int
|
static int
|
||||||
_csi_arg_get(Eina_Unicode **ptr)
|
_csi_arg_get(Eina_Unicode **ptr)
|
||||||
|
@ -873,12 +874,17 @@ _handle_esc_xterm(Termpty *ty, const Eina_Unicode *c, Eina_Unicode *ce)
|
||||||
b = buf;
|
b = buf;
|
||||||
while ((cc < ce) && (*cc != ST) && (*cc != BEL))
|
while ((cc < ce) && (*cc != ST) && (*cc != BEL))
|
||||||
{
|
{
|
||||||
|
if ((cc < ce - 1) && (*cc == ESC) && (*(cc + 1) == '\\'))
|
||||||
|
{
|
||||||
|
cc++;
|
||||||
|
break;
|
||||||
|
}
|
||||||
*b = *cc;
|
*b = *cc;
|
||||||
b++;
|
b++;
|
||||||
cc++;
|
cc++;
|
||||||
}
|
}
|
||||||
*b = 0;
|
*b = 0;
|
||||||
if ((*cc == ST) || (*cc == BEL)) cc++;
|
if ((*cc == ST) || (*cc == BEL) || (*cc == '\\')) cc++;
|
||||||
else return -2;
|
else return -2;
|
||||||
switch (buf[0])
|
switch (buf[0])
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue