Author: mesyeti <mesyeti@mesyeti.uk>
add char set sequence
source/interpreter/vt100.c | 13 +++++++++++--
diff --git a/source/interpreter/vt100.c b/source/interpreter/vt100.c
index 01c7fc4023e4851e219c7f30bfa24fa0c82ad7d1..8816d3b2a1c97e518c29e04e2984d10fc03ea97a 100644
--- a/source/interpreter/vt100.c
+++ b/source/interpreter/vt100.c
@@ -8,7 +8,8 @@ enum {
MODE_READY = 0,
MODE_ESCAPE,
MODE_CSI, // \e[
- MODE_OSC // \e]
+ MODE_OSC, // \e]
+ MODE_CHSET
};
enum {
@@ -406,7 +407,11 @@ case MODE_ESCAPE: {
switch (ch) {
case '[': this->mode = MODE_CSI; break;
case ']': this->mode = MODE_OSC; break;
- default: this->mode = MODE_READY; // invalid
+ case '(': this->mode = MODE_CHSET; break;
+ default: {
+ printf("Unimplemented: ESC '%c'\n", ch);
+ this->mode = MODE_READY; // invalid
+ }
}
break;
}
@@ -446,6 +451,10 @@ else {
char ch2 = (char) ch;
strncat(this->reading, &ch2, 1);
}
+ break;
+ }
+ case MODE_CHSET: {
+ this->mode = MODE_READY;
break;
}
}