Added telnet_async command to enable/disable asynchronous

messages.

git-svn-id: svn://svn.berlios.de/openocd/trunk@1117 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
oharboe
2008-10-31 13:40:02 +00:00
parent e4218ebb8f
commit c2120ba28a
5 changed files with 53 additions and 4 deletions

View File

@@ -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)