diff --git a/components/finsh/shell.c b/components/finsh/shell.c index 462d4643e5c5565f3ee7e636b5b021959805dd9a..8e1f814560c5dee6485cf465db8b82026de75721 100644 --- a/components/finsh/shell.c +++ b/components/finsh/shell.c @@ -84,13 +84,12 @@ const char *finsh_get_prompt() static char finsh_getchar(void) { - RT_ASSERT(shell != RT_NULL); - #ifdef RT_USING_POSIX_STDIN return getchar(); #else char ch; + RT_ASSERT(shell != RT_NULL); while (rt_device_read(shell->device, -1, &ch, 1) != 1) rt_sem_take(&shell->rx_sem, RT_WAITING_FOREVER);