Browse Subversion Repository
Diff of /trunk/teraterm/teraterm/vtterm.c
Parent Directory
| Revision Log
| Patch
| 3444 |
#define ModeXsColorNum 3 |
#define ModeXsColorNum 3 |
| 3445 |
#define ModeXsColorSpec 4 |
#define ModeXsColorSpec 4 |
| 3446 |
#define ModeXsEsc 5 |
#define ModeXsEsc 5 |
| 3447 |
|
#define ModeXsIgnore 6 |
| 3448 |
void XSequence(BYTE b) |
void XSequence(BYTE b) |
| 3449 |
{ |
{ |
| 3450 |
static BYTE XsParseMode = ModeXsFirst, PrevMode; |
static BYTE XsParseMode = ModeXsFirst, PrevMode; |
| 3468 |
case 11: |
case 11: |
| 3469 |
case 15: |
case 15: |
| 3470 |
case 16: |
case 16: |
|
XsParseMode = ModeXsColorSpec; |
|
| 3471 |
ColorNumber = 0; |
ColorNumber = 0; |
| 3472 |
StrBuff[0] = '\0'; |
XsParseMode = ModeXsColorSpec; |
|
StrLen = 0; |
|
| 3473 |
break; |
break; |
| 3474 |
default: |
default: |
| 3475 |
XsParseMode = ModeXsString; |
XsParseMode = ModeXsString; |
| 3476 |
} |
} |
| 3477 |
} |
} |
| 3478 |
else { |
else { |
| 3479 |
// Invalid Sequence. Ignore. |
XsParseMode = ModeXsIgnore; |
| 3480 |
Param[1] = 0xFFFFFFFF; |
XSequence(b); |
|
StrBuff[0] = '\0'; |
|
|
StrLen = 0; |
|
|
XsParseMode = ModeXsString; |
|
| 3481 |
} |
} |
| 3482 |
break; |
break; |
| 3483 |
case ModeXsString: |
case ModeXsString: |
| 3518 |
} |
} |
| 3519 |
else if (b == ';') { |
else if (b == ';') { |
| 3520 |
XsParseMode = ModeXsColorSpec; |
XsParseMode = ModeXsColorSpec; |
|
StrBuff[0] = '\0'; |
|
|
StrLen = 0; |
|
| 3521 |
} |
} |
| 3522 |
else { |
else { |
| 3523 |
Param[1] = 0xFFFFFFFF; |
XsParseMode = ModeXsIgnore; |
| 3524 |
StrBuff[0] = '\0'; |
XSequence(b); |
|
StrLen = 0; |
|
|
XsParseMode = ModeXsString; |
|
| 3525 |
} |
} |
| 3526 |
break; |
break; |
| 3527 |
case ModeXsColorSpec: |
case ModeXsColorSpec: |
| 3563 |
Param[1]++; |
Param[1]++; |
| 3564 |
break; |
break; |
| 3565 |
default: |
default: |
| 3566 |
XsParseMode = ModeXsString; |
XsParseMode = ModeXsIgnore; |
|
Param[1] = 0xFFFFFFFF; |
|
| 3567 |
break; |
break; |
| 3568 |
} |
} |
| 3569 |
} |
} |
| 3584 |
EscapeSequence(b); |
EscapeSequence(b); |
| 3585 |
} |
} |
| 3586 |
break; |
break; |
| 3587 |
|
case ModeXsIgnore: |
| 3588 |
|
if ((b==ST && Accept8BitCtrl && !(ts.Language==IdJapanese && ts.KanjiCode==IdSJIS)) || b==BEL) { /* String Terminator */ |
| 3589 |
|
ParseMode = ModeFirst; |
| 3590 |
|
XsParseMode = ModeXsFirst; |
| 3591 |
|
} |
| 3592 |
|
else if (b == ESC) { |
| 3593 |
|
PrevMode = ModeXsIgnore; |
| 3594 |
|
XsParseMode = ModeXsEsc; |
| 3595 |
|
} |
| 3596 |
|
break; |
| 3597 |
} |
} |
| 3598 |
} |
} |
| 3599 |
|
|
|
|
Legend:
| Removed from v.4687 |
|
| changed lines |
| |
Added in v.4696 |
|
|
|