未验证 提交 56f1a8af 编写于 作者: B Bernard Xiong 提交者: GitHub

Merge pull request #2100 from gbcwbz/vi

Fix stdio fd error when POSIX api is used
...@@ -18,6 +18,10 @@ ...@@ -18,6 +18,10 @@
#include <lwp.h> #include <lwp.h>
#endif #endif
#ifdef RT_USING_DFS_DEVFS
#include <libc.h>
#endif
/* Global variables */ /* Global variables */
const struct dfs_filesystem_ops *filesystem_operation_table[DFS_FILESYSTEM_TYPES_MAX]; const struct dfs_filesystem_ops *filesystem_operation_table[DFS_FILESYSTEM_TYPES_MAX];
struct dfs_filesystem filesystem_table[DFS_FILESYSTEMS_MAX]; struct dfs_filesystem filesystem_table[DFS_FILESYSTEMS_MAX];
...@@ -212,6 +216,11 @@ struct dfs_fd *fd_get(int fd) ...@@ -212,6 +216,11 @@ struct dfs_fd *fd_get(int fd)
struct dfs_fd *d; struct dfs_fd *d;
struct dfs_fdtable *fdt; struct dfs_fdtable *fdt;
#ifdef RT_USING_DFS_DEVFS
if ((0 <= fd) && (fd <= 2))
fd = libc_stdio_get_console();
#endif
fdt = dfs_fdtable_get(); fdt = dfs_fdtable_get();
fd = fd - DFS_FD_OFFSET; fd = fd - DFS_FD_OFFSET;
if (fd < 0 || fd >= fdt->maxfd) if (fd < 0 || fd >= fdt->maxfd)
......
...@@ -270,7 +270,10 @@ long _sys_flen(FILEHANDLE fh) ...@@ -270,7 +270,10 @@ long _sys_flen(FILEHANDLE fh)
int _sys_istty(FILEHANDLE fh) int _sys_istty(FILEHANDLE fh)
{ {
return 0; if((STDIN <= fh) && (fh <= STDERR))
return 1;
else
return 0;
} }
int remove(const char *filename) int remove(const char *filename)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册