diff options
| author | guo <[email protected]> | 2021-12-02 09:58:33 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-12-02 09:58:33 +0800 |
| commit | 1d4594c6fcad494ef256c9bbd8aa7d64132a0995 (patch) | |
| tree | 96465d7a6431653b5e11d4c4a2dae3c264841ffe /components/libc/compilers | |
| parent | 838d1087a05c1565aa8833d6a9dab7d3191e646e (diff) | |
| parent | 7b1f65a690c8f28d172e640989643df12597fa7a (diff) | |
Merge pull request #5317 from mysterywolf/PSE
[PSE分支] 替换宏定义 将posix单独划分为一个Kconfig目录
Diffstat (limited to 'components/libc/compilers')
| -rw-r--r-- | components/libc/compilers/armlibc/syscalls.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/components/libc/compilers/armlibc/syscalls.c b/components/libc/compilers/armlibc/syscalls.c index bfd3777193..0e965d62af 100644 --- a/components/libc/compilers/armlibc/syscalls.c +++ b/components/libc/compilers/armlibc/syscalls.c @@ -156,22 +156,26 @@ int _sys_read(FILEHANDLE fh, unsigned char *buf, unsigned len, int mode) return 0; /* error, but keep going */ } size = read(STDIN_FILENO, buf, len); - return 0; /* success */ + return len - size; /* success */ #else return 0; /* error */ #endif /* RT_USING_POSIX_DEVIO */ } else if (fh == STDOUT || fh == STDERR) { - return 0; /* error */ + return -1; /* 100% error */ } else { size = read(fh, buf, len); if (size >= 0) + { return len - size; /* success */ + } else + { return 0; /* error */ + } } #else return 0; /* error */ @@ -209,16 +213,20 @@ int _sys_write(FILEHANDLE fh, const unsigned char *buf, unsigned len, int mode) } else if (fh == STDIN) { - return 0; /* error */ + return -1; /* 100% error */ } else { #ifdef DFS_USING_POSIX size = write(fh, buf, len); if (size >= 0) - return 0; /* success */ + { + return len - size; /* success */ + } else + { return 0; /* error */ + } #else return 0; /* error */ #endif /* DFS_USING_POSIX */ |
