浏览代码

[finsh] Clear buffer before switching to new shell device

ardafu 10 年之前
父节点
当前提交
084a8dcd0c
共有 1 个文件被更改,包括 5 次插入1 次删除
  1. 5 1
      components/finsh/shell.c

+ 5 - 1
components/finsh/shell.c

@@ -122,7 +122,11 @@ void finsh_set_device(const char* device_name)
             rt_device_close(shell->device);
             rt_device_close(shell->device);
             rt_device_set_rx_indicate(shell->device, RT_NULL);
             rt_device_set_rx_indicate(shell->device, RT_NULL);
         }
         }
-
+        
+        /* clear line buffer before switch to new device */
+        memset(shell->line, 0, sizeof(shell->line));
+        shell->line_curpos = shell->line_position = 0;
+    
         shell->device = dev;
         shell->device = dev;
         rt_device_set_rx_indicate(dev, finsh_rx_ind);
         rt_device_set_rx_indicate(dev, finsh_rx_ind);
     }
     }