MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / _msh_exec_cmd

Function _msh_exec_cmd

components/finsh/msh.c:324–353  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

322#endif
323
324static int _msh_exec_cmd(char *cmd, rt_size_t length, int *retp)
325{
326 int argc;
327 rt_size_t cmd0_size = 0;
328 cmd_function_t cmd_func;
329 char *argv[FINSH_ARG_MAX];
330
331 RT_ASSERT(cmd);
332 RT_ASSERT(retp);
333
334 /* find the size of first command */
335 while (cmd0_size < length && (cmd[cmd0_size] != ' ' && cmd[cmd0_size] != '\t'))
336 cmd0_size ++;
337 if (cmd0_size == 0)
338 return -RT_ERROR;
339
340 cmd_func = msh_get_cmd(cmd, cmd0_size);
341 if (cmd_func == RT_NULL)
342 return -RT_ERROR;
343
344 /* split arguments */
345 rt_memset(argv, 0x00, sizeof(argv));
346 argc = msh_split(cmd, length, argv);
347 if (argc == 0)
348 return -RT_ERROR;
349
350 /* exec this command */
351 *retp = cmd_func(argc, argv);
352 return 0;
353}
354
355#if defined(RT_USING_SMART) && defined(DFS_USING_POSIX)
356#include <lwp.h>

Callers 1

msh_execFunction · 0.85

Calls 3

msh_get_cmdFunction · 0.85
rt_memsetFunction · 0.85
msh_splitFunction · 0.85

Tested by

no test coverage detected