[Kernel] Change command line to const parameter and add system() function.
This commit is contained in:
parent
6469a5a3d1
commit
8bd3e6f6dc
|
@ -180,7 +180,7 @@ static cmd_function_t msh_get_cmd(char *cmd, int size)
|
||||||
#if defined(RT_USING_MODULE) && defined(RT_USING_DFS)
|
#if defined(RT_USING_MODULE) && defined(RT_USING_DFS)
|
||||||
/* Return 0 on module executed. Other value indicate error.
|
/* Return 0 on module executed. Other value indicate error.
|
||||||
*/
|
*/
|
||||||
int msh_exec_module(char* cmd_line, int size)
|
int msh_exec_module(const char* cmd_line, int size)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
int fd = -1;
|
int fd = -1;
|
||||||
|
@ -248,6 +248,11 @@ int msh_exec_module(char* cmd_line, int size)
|
||||||
rt_free(pg_name);
|
rt_free(pg_name);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int system(const char *command)
|
||||||
|
{
|
||||||
|
return msh_exec_module(command, rt_strlen(command));
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static int _msh_exec_cmd(char* cmd, rt_size_t length, int *retp)
|
static int _msh_exec_cmd(char* cmd, rt_size_t length, int *retp)
|
||||||
|
@ -346,8 +351,8 @@ static int str_common(const char *str1, const char *str2)
|
||||||
#ifdef RT_USING_DFS
|
#ifdef RT_USING_DFS
|
||||||
void msh_auto_complete_path(char *path)
|
void msh_auto_complete_path(char *path)
|
||||||
{
|
{
|
||||||
DIR* dir;
|
DIR* dir = RT_NULL;
|
||||||
struct dirent *dirent;
|
struct dirent *dirent = RT_NULL;
|
||||||
char *full_path, *ptr, *index;
|
char *full_path, *ptr, *index;
|
||||||
|
|
||||||
full_path = (char*)rt_malloc(256);
|
full_path = (char*)rt_malloc(256);
|
||||||
|
|
|
@ -421,7 +421,7 @@ rt_module_t rt_module_load(const char *name, void *module_ptr);
|
||||||
rt_err_t rt_module_unload(rt_module_t module);
|
rt_err_t rt_module_unload(rt_module_t module);
|
||||||
#ifdef RT_USING_DFS
|
#ifdef RT_USING_DFS
|
||||||
rt_module_t rt_module_open(const char *filename);
|
rt_module_t rt_module_open(const char *filename);
|
||||||
rt_module_t rt_module_exec_cmd(const char *path, char* cmd_line, int size);
|
rt_module_t rt_module_exec_cmd(const char *path, const char* cmd_line, int size);
|
||||||
#endif
|
#endif
|
||||||
void *rt_module_malloc(rt_size_t size);
|
void *rt_module_malloc(rt_size_t size);
|
||||||
void *rt_module_realloc(void *ptr, rt_size_t size);
|
void *rt_module_realloc(void *ptr, rt_size_t size);
|
||||||
|
|
|
@ -920,7 +920,7 @@ static void module_main_entry(void* parameter)
|
||||||
*
|
*
|
||||||
* @return the module object
|
* @return the module object
|
||||||
*/
|
*/
|
||||||
rt_module_t rt_module_do_main(const char *name, void *module_ptr, char* cmd_line, int line_size)
|
rt_module_t rt_module_do_main(const char *name, void *module_ptr, const char* cmd_line, int line_size)
|
||||||
{
|
{
|
||||||
rt_module_t module;
|
rt_module_t module;
|
||||||
|
|
||||||
|
@ -1125,7 +1125,7 @@ rt_module_t rt_module_open(const char *path)
|
||||||
*
|
*
|
||||||
* @return the module object
|
* @return the module object
|
||||||
*/
|
*/
|
||||||
rt_module_t rt_module_exec_cmd(const char *path, char* cmd_line, int size)
|
rt_module_t rt_module_exec_cmd(const char *path, const char* cmd_line, int size)
|
||||||
{
|
{
|
||||||
struct stat s;
|
struct stat s;
|
||||||
int fd, length;
|
int fd, length;
|
||||||
|
|
Loading…
Reference in New Issue