diff options
author | Tarek BOCHKATI <tarek.bouchkati@gmail.com> | 2021-08-18 19:55:48 +0100 |
---|---|---|
committer | Antonio Borneo <borneo.antonio@gmail.com> | 2021-08-30 13:54:06 +0000 |
commit | 9a9e9e2c666dcb4987421f89d3b09ff9951cb0a1 (patch) | |
tree | 61fd939ac74906d2e90086c63f4fecf6ccfbcdd0 /src/server | |
parent | 70cd395f3f0b7f7974125ce6e728980e855626ea (diff) | |
download | riscv-openocd-9a9e9e2c666dcb4987421f89d3b09ff9951cb0a1.zip riscv-openocd-9a9e9e2c666dcb4987421f89d3b09ff9951cb0a1.tar.gz riscv-openocd-9a9e9e2c666dcb4987421f89d3b09ff9951cb0a1.tar.bz2 |
server/telnet: enhance telnet_move_cursor
instrument the telnet_move_cursor to detect when there is no change
of cursor position and if the requested new position is out of bounds.
Change-Id: I24da877e538a458da6d2f8ddc2a681eee404d2cb
Signed-off-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/6441
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Diffstat (limited to 'src/server')
-rw-r--r-- | src/server/telnet_server.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/server/telnet_server.c b/src/server/telnet_server.c index f7b3f64..36b017c 100644 --- a/src/server/telnet_server.c +++ b/src/server/telnet_server.c @@ -352,10 +352,14 @@ static int telnet_history_print(struct connection *connection) static void telnet_move_cursor(struct connection *connection, size_t pos) { - struct telnet_connection *tc; + struct telnet_connection *tc = connection->priv; size_t tmp; - tc = connection->priv; + if (pos == tc->line_cursor) /* nothing to do */ + return; + + if (pos > tc->line_size) /* out of bounds */ + return; if (pos < tc->line_cursor) { tmp = tc->line_cursor - pos; |