add prompt output when start and remove the empty history
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@562 bbd45198-f89e-11dd-88c7-29a3b14d5316
This commit is contained in:
parent
bd5399d04e
commit
3052a549ef
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://openlab.rt-thread.com/license/LICENSE
|
||||
* http://www.rt-thread.org/license/LICENSE
|
||||
*
|
||||
* Change Logs:
|
||||
* Date Author Notes
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://openlab.rt-thread.com/license/LICENSE
|
||||
* http://www.rt-thread.org/license/LICENSE
|
||||
*
|
||||
* Change Logs:
|
||||
* Date Author Notes
|
||||
|
@ -15,6 +15,7 @@
|
|||
* 2006-09-24 Bernard remove the code related with hardware
|
||||
* 2010-01-18 Bernard fix down then up key bug.
|
||||
* 2010-03-19 Bernard fix backspace issue and fix device read in shell.
|
||||
* 2010-04-01 Bernard add prompt output when start and remove the empty history
|
||||
*/
|
||||
|
||||
#include <rtthread.h>
|
||||
|
@ -184,10 +185,10 @@ void finsh_auto_complete(char* prefix)
|
|||
rt_kprintf("\n");
|
||||
list_prefix(prefix);
|
||||
rt_kprintf("finsh>>%s", prefix);
|
||||
}
|
||||
}
|
||||
|
||||
void finsh_run_line(struct finsh_parser *parser, const char* line)
|
||||
{
|
||||
void finsh_run_line(struct finsh_parser *parser, const char* line)
|
||||
{
|
||||
rt_kprintf("\n");
|
||||
finsh_parser_run(parser, (unsigned char*)line);
|
||||
|
||||
|
@ -223,9 +224,9 @@ void finsh_run_line(struct finsh_parser *parser, const char* line)
|
|||
}
|
||||
}
|
||||
|
||||
finsh_flush(parser);
|
||||
}
|
||||
|
||||
finsh_flush(parser);
|
||||
}
|
||||
|
||||
void finsh_thread_entry(void* parameter)
|
||||
{
|
||||
struct finsh_parser parser;
|
||||
|
@ -236,12 +237,14 @@ void finsh_thread_entry(void* parameter)
|
|||
unsigned short current_history, use_history;
|
||||
#endif
|
||||
|
||||
pos = 0;
|
||||
stat = WAIT_NORMAL;
|
||||
current_history = 0;
|
||||
use_history = 0;
|
||||
memset(line, 0, sizeof(line));
|
||||
|
||||
finsh_init(&parser);
|
||||
rt_kprintf("finsh>>");
|
||||
|
||||
while (1)
|
||||
{
|
||||
|
@ -350,7 +353,7 @@ void finsh_thread_entry(void* parameter)
|
|||
line[pos] = ';';
|
||||
|
||||
#ifdef FINSH_USING_HISTORY
|
||||
if (use_history == 0)
|
||||
if ((use_history == 0) && (pos != 0))
|
||||
{
|
||||
/* push history */
|
||||
if (finsh_history_count >= FINSH_HISTORY_LINES)
|
||||
|
@ -378,10 +381,10 @@ void finsh_thread_entry(void* parameter)
|
|||
}
|
||||
}
|
||||
current_history = finsh_history_count;
|
||||
#endif
|
||||
|
||||
if (pos != 0) finsh_run_line(&parser, line);
|
||||
else rt_kprintf("\n");
|
||||
#endif
|
||||
|
||||
if (pos != 0) finsh_run_line(&parser, line);
|
||||
else rt_kprintf("\n");
|
||||
|
||||
rt_kprintf("finsh>>");
|
||||
memset(line, 0, sizeof(line));
|
||||
|
|
Loading…
Reference in New Issue