diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-05-27 16:43:24 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-05-27 16:43:24 +0000 |
commit | 7c4cdeb9ea24e3c019b1e0abb00af44d3884b956 (patch) | |
tree | 44d0737dc372ebcb8b259afb11bd2ab1a7eb1fe2 /cpukit | |
parent | Format. (diff) | |
download | rtems-7c4cdeb9ea24e3c019b1e0abb00af44d3884b956.tar.bz2 |
2008-05-27 Joel Sherrill <joel.sherrill@oarcorp.com>
* libmisc/shell/shell.c: Minor change so dropping connection during
login prompt results in connection still being available.
Diffstat (limited to 'cpukit')
-rw-r--r-- | cpukit/ChangeLog | 5 | ||||
-rw-r--r-- | cpukit/libmisc/shell/shell.c | 17 |
2 files changed, 20 insertions, 2 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index 725012f4c6..1c4ae0bff3 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,3 +1,8 @@ +2008-05-27 Joel Sherrill <joel.sherrill@oarcorp.com> + + * libmisc/shell/shell.c: Minor change so dropping connection during + login prompt results in connection still being available. + 2008-05-27 Sebastian Huber <sebastian.huber@embedded-brains.de> 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) { |