summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authoryangfasheng <[email protected]>2018-09-18 17:53:28 +0800
committeryangfasheng <[email protected]>2018-09-18 17:53:28 +0800
commitf31b11de78b8d5c9940dac3ce233ecbf51027c16 (patch)
treeb479b588c4bb14ed7307a23d29d4667694b3d467 /components
parent1abe83531cd1800d5f16f3066155f51ef1272593 (diff)
update armlibc/stdio.c
Signed-off-by: yangfasheng <[email protected]>
Diffstat (limited to 'components')
-rw-r--r--components/libc/compilers/armlibc/stdio.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/components/libc/compilers/armlibc/stdio.c b/components/libc/compilers/armlibc/stdio.c
index d1ac976568..9d90823c78 100644
--- a/components/libc/compilers/armlibc/stdio.c
+++ b/components/libc/compilers/armlibc/stdio.c
@@ -65,11 +65,27 @@ int libc_stdio_get_console(void)
int libc_stdio_read(void *buffer, size_t size)
{
- return read(std_fd, buffer, size);
+ if (std_fd >= 0)
+ {
+ return read(std_fd, buffer, size);
+ }
+ else
+ {
+ rt_kprintf("Illegal stdio input!\n");
+ return 0;
+ }
}
int libc_stdio_write(const void *buffer, size_t size)
{
- return write(std_fd, buffer, size);
+ if (std_fd >= 0)
+ {
+ return write(std_fd, buffer, size);
+ }
+ else
+ {
+ rt_kprintf("Illegal stdio output!\n");
+ return size;
+ }
}
#endif