[libc] Fix system issue when use msh and make code cleanup.

This commit is contained in:
bernard 2014-08-03 14:31:19 +08:00
parent fccd0e6b83
commit 4ee93b7552
2 changed files with 29 additions and 15 deletions

View File

@ -1,7 +1,16 @@
/*
* File: mem_std.c
* Brief: Replace memory management functions of arm standard c library
* File : mem_std.c
* Brief : implement standard memory routins.
*
* This file is part of Device File System in RT-Thread RTOS
* COPYRIGHT (C) 2014, RT-Thread Development Team
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rt-thread.org/license/LICENSE.
*
* Change Logs:
* 2014-08-03 bernard Add file header.
*/
#include "rtthread.h"
@ -9,16 +18,21 @@
/* avoid the heap and heap-using library functions supplied by arm */
#pragma import(__use_no_heap)
void * malloc(int n)
void *malloc(int n)
{
return rt_malloc(n);
}
void * realloc(void *rmem, rt_size_t newsize)
void *realloc(void *rmem, rt_size_t newsize)
{
return rt_realloc(rmem, newsize);
}
void *calloc(rt_size_t nelem, rt_size_t elsize)
{
return rt_calloc(nelem, elsize);
}
void free(void *rmem)
{
rt_free(rmem);

View File

@ -13,6 +13,8 @@
* Date Author Notes
* 2012-11-23 Yihui The first version
* 2013-11-24 aozima fixed _sys_read()/_sys_write() issues.
* 2014-08-03 bernard If using msh, use system() implementation
* in msh.
*/
#include <string.h>
@ -194,9 +196,13 @@ char *_sys_command_string(char *cmd, int len)
return cmd;
}
/* This function writes a character to the console. */
void _ttywrch(int ch)
{
/* TODO */
char c;
c = (char)ch;
rt_kprintf(&c);
}
void _sys_exit(int return_code)
@ -231,18 +237,12 @@ int remove(const char *filename)
#endif
}
/* rename() is defined in dfs_posix.c instead */
#if 0
int rename(const char *old, const char *new)
{
return -1;
}
#endif
#if defined(RT_USING_FINSH) && defined(FINSH_USING_MSH) && defined(RT_USING_MODULE) && defined(RT_USING_DFS)
/* use system implementation in the msh */
#else
int system(const char *string)
{
RT_ASSERT(0);
for(;;);
}
#endif