diff options
Diffstat (limited to 'terminal')
| -rw-r--r-- | terminal/terminal.c | 17 | ||||
| -rw-r--r-- | terminal/terminal.h | 1 |
2 files changed, 13 insertions, 5 deletions
diff --git a/terminal/terminal.c b/terminal/terminal.c index 872a7fb..2f10ab8 100644 --- a/terminal/terminal.c +++ b/terminal/terminal.c @@ -12,6 +12,8 @@ #include "lib/logger/log.h" +#include <stddef.h> + typedef enum { ecma48_reset, @@ -251,6 +253,7 @@ terminal_tty terminal_init(term_out *screen,term_in *input) return tty; } +/* void terminal_kb(terminal_tty *tty, uint8_t c) { if(tty->set_echo)terminal_put(tty,c); @@ -280,6 +283,7 @@ void terminal_kb(terminal_tty *tty, uint8_t c) } } +*/ // send one ASCII character to the terminal bool terminal_put(terminal_tty *tty, uint8_t c) @@ -431,11 +435,14 @@ bool terminal_put(terminal_tty *tty, uint8_t c) if(c=='Z'){// IDENTIFY: claim we are vt102 - tty->input->put_char(0x1B); //ESC - tty->input->put_char('['); - tty->input->put_char('?'); - tty->input->put_char('6'); - tty->input->put_char('c'); + if(tty->input!=NULL) + { + tty->input->put_char(0x1B); //ESC + tty->input->put_char('['); + tty->input->put_char('?'); + tty->input->put_char('6'); + tty->input->put_char('c'); + } return;} diff --git a/terminal/terminal.h b/terminal/terminal.h index 0106f29..be711f5 100644 --- a/terminal/terminal.h +++ b/terminal/terminal.h @@ -70,6 +70,7 @@ typedef struct terminal_tty_struct }terminal_tty; terminal_tty terminal_init(term_out *screen,term_in *input); + bool terminal_put(terminal_tty *tty, uint8_t c); void terminal_kb(terminal_tty *tty, uint8_t c); |
