From 7c4cdeb9ea24e3c019b1e0abb00af44d3884b956 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 27 May 2008 16:43:24 +0000 Subject: 2008-05-27 Joel Sherrill * libmisc/shell/shell.c: Minor change so dropping connection during login prompt results in connection still being available. --- cpukit/libmisc/shell/shell.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'cpukit/libmisc/shell/shell.c') diff --git a/cpukit/libmisc/shell/shell.c b/cpukit/libmisc/shell/shell.c index a857e7bfa3..6c1aff0a4b 100644 --- a/cpukit/libmisc/shell/shell.c +++ b/cpukit/libmisc/shell/shell.c @@ -89,7 +89,7 @@ int rtems_shell_line_editor( ) { unsigned int extended_key; - char c; + int c; int col; int last_col; int output; @@ -796,7 +796,20 @@ rtems_boolean rtems_shell_main_loop( result = FALSE; break; } - if (input_file || !rtems_shell_login(stdin,stdout)) { + + /* + * By using result here, we can fall to the bottom of the + * loop when the connection is dropped during login and + * keep on trucking. + */ + if ( input_file ) { + result = TRUE; + } else { + if (rtems_shell_login(stdin,stdout)) result = FALSE; + else result = TRUE; + } + + if (result) { const char *c; memset (cmds[0], 0, cmd_count * RTEMS_SHELL_CMD_SIZE); if (!input_file) { -- cgit v1.2.3