From 849130da2c7128d88a1b5516cf1b955461718601 Mon Sep 17 00:00:00 2001 From: roamboy <0yfj0@163.com> Date: Mon, 13 Jan 2014 15:52:23 +0800 Subject: [PATCH] Update msh.c fix msh_exec(char* cmd, rt_size_t length) bug --- components/finsh/msh.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/components/finsh/msh.c b/components/finsh/msh.c index 8da80fad5b..98c34c1de8 100644 --- a/components/finsh/msh.c +++ b/components/finsh/msh.c @@ -257,16 +257,29 @@ int msh_exec(char* cmd, rt_size_t length) int cmd0_size = 0; cmd_function_t cmd_func; + while(*cmd == ' ') + { + cmd++; + length--; + } while ((cmd[cmd0_size] != ' ' && cmd[cmd0_size] != '\t') && cmd0_size < length) cmd0_size ++; - + /* try to get built-in command */ + if (cmd0_size == 0) return -1; cmd_func = msh_get_cmd(cmd, cmd0_size); if (cmd_func == RT_NULL) { #ifdef RT_USING_MODULE msh_exec_module(cmd, length); #else + argv[0] = cmd; + while(*cmd != ' ') + { + if (*cmd == 0) break; + cmd++; + } + if (*cmd == ' ') *cmd = 0; rt_kprintf("%s: command not found.\n", argv[0]); #endif return -1;