提交 780c09e3 编写于 作者: B BernardXiong

[libc] Fix the O_CREAT issue.

libc_stdio_set_console/newlib uses fopen to open console device, which
has O_CREAT flag and cause fault.
上级 011eb615
......@@ -19,6 +19,7 @@
*
* Change Logs:
* Date Author Notes
* 2018-02-11 Bernard Ignore O_CREAT flag in open.
*/
#include <rtthread.h>
......@@ -137,9 +138,6 @@ int dfs_device_fs_open(struct dfs_fd *file)
rt_err_t result;
rt_device_t device;
if (file->flags & O_CREAT)
return -EINVAL;
/* open root directory */
if ((file->path[0] == '/') && (file->path[1] == '\0') &&
(file->flags & O_DIRECTORY))
......
......@@ -81,7 +81,9 @@ int libc_stdio_set_console(const char* device_name, int mode)
_GLOBAL_REENT->__sdidinit = 1;
}
return fileno(std_console);
if (std_console) return fileno(std_console);
return -1;
}
int libc_stdio_get_console(void) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册