From be6b98a967f56714defd72c7b9413383b1a5d1fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Wed, 16 Feb 2005 21:56:14 +0000 Subject: [PATCH] Since the mode commands are ignored anyway, we're now also accepting a "?" starting parameter (or better, we silently ignore it) that's used for private DEC modes. Vim uses those for whatever reason. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11395 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/drivers/common/console.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/add-ons/kernel/drivers/common/console.cpp b/src/add-ons/kernel/drivers/common/console.cpp index a34c3ccd40..e15780feb8 100644 --- a/src/add-ons/kernel/drivers/common/console.cpp +++ b/src/add-ons/kernel/drivers/common/console.cpp @@ -563,6 +563,10 @@ _console_write(struct console_desc *con, const void *buf, size_t len) con->args[con->arg_ptr] = *c - '0'; con->state = CONSOLE_STATE_PARSING_ARG; break; + case '?': + // private DEC mode parameter follows - we ignore those anyway + // ToDo: check if it was really used in combination with a mode command + break; default: process_vt100_command(con, *c, true, con->args, con->arg_ptr + 1); con->state = CONSOLE_STATE_NORMAL; @@ -655,6 +659,20 @@ console_write(void *cookie, off_t pos, const void *buffer, size_t *_length) struct console_desc *con = (struct console_desc *)cookie; ssize_t written; +#if 0 +{ + const char *input = (const char *)buffer; + dprintf("console_write (%lu bytes): \"", *_length); + for (int32 i = 0; i < *_length; i++) { + if (input[i] < ' ') + dprintf("(%d:0x%x)", input[i], input[i]); + else + dprintf("%c", input[i]); + } + dprintf("\"\n"); +} +#endif + mutex_lock(&con->lock); update_cursor(con, -1, -1); // hide it