From c2120ba28a7f3c473c05403e6015c95bec406336 Mon Sep 17 00:00:00 2001 From: oharboe Date: Fri, 31 Oct 2008 13:40:02 +0000 Subject: Added telnet_async command to enable/disable asynchronous messages. git-svn-id: svn://svn.berlios.de/openocd/trunk@1117 b42882b7-edfa-0310-969c-e2dbd0fdcd60 --- src/server/telnet_server.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src/server') diff --git a/src/server/telnet_server.c b/src/server/telnet_server.c index 85e1957f..ef22348a 100644 --- a/src/server/telnet_server.c +++ b/src/server/telnet_server.c @@ -48,6 +48,11 @@ static unsigned short telnet_port = 0; int handle_exit_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc); int handle_telnet_port_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc); +static int telnet_async() +{ + return jim_global_long("telnet_async_state"); +} + static char *negotiate = "\xFF\xFB\x03" /* IAC WILL Suppress Go Ahead */ "\xFF\xFB\x01" /* IAC WILL Echo */ @@ -186,7 +191,8 @@ int telnet_new_connection(connection_t *connection) telnet_connection->next_history = 0; telnet_connection->current_history = 0; - log_add_callback(telnet_log_callback, connection); + if (telnet_async()) + log_add_callback(telnet_log_callback, connection); @@ -341,7 +347,15 @@ int telnet_input(connection_t *connection) t_con->line_size = 0; t_con->line_cursor = -1; /* to supress prompt in log callback during command execution */ + + if (!telnet_async()) + log_add_callback(telnet_log_callback, connection); + retval = command_run_line(command_context, t_con->line); + + if (!telnet_async()) + log_remove_callback(telnet_log_callback, connection); + t_con->line_cursor = 0; if (retval == ERROR_COMMAND_CLOSE_CONNECTION) -- cgit v1.2.3