summaryrefslogtreecommitdiff
path: root/components/dfs
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2018-02-25 21:23:24 +0800
committerGitHub <[email protected]>2018-02-25 21:23:24 +0800
commit0522343b927d8a20f890ec0454df59839df7dd15 (patch)
treed661f3852e2da08cd1349ade95b9b20149dd34f4 /components/dfs
parent1a158e7e8a62003dd8c578a5b447c8fc487c36fc (diff)
parent63b05a8c73dfb1d842a31fbeb2688941ddde704a (diff)
Merge pull request #1233 from RT-Thread/origin/stable-v2.1.xstable-v2.1.x
fix the fopen issue.
Diffstat (limited to 'components/dfs')
-rw-r--r--components/dfs/include/dfs_def.h8
-rw-r--r--components/dfs/include/dfs_posix.h26
-rw-r--r--components/dfs/src/dfs_posix.c2
3 files changed, 20 insertions, 16 deletions
diff --git a/components/dfs/include/dfs_def.h b/components/dfs/include/dfs_def.h
index 0f75a5162b..7e954d749c 100644
--- a/components/dfs/include/dfs_def.h
+++ b/components/dfs/include/dfs_def.h
@@ -23,7 +23,7 @@
* 2004-10-14 Beranard Clean up the code.
* 2005-01-22 Beranard Clean up the code, port to MinGW
*/
-
+
#ifndef __DFS_DEF_H__
#define __DFS_DEF_H__
@@ -70,7 +70,7 @@
#define dfs_log(level, x)
#endif
-#if defined(RT_USING_NEWLIB)
+#if defined(RT_USING_NEWLIB)
#include <string.h>
#include <sys/stat.h> /* used for struct stat */
#include <sys/statfs.h> /* used for struct statfs */
@@ -108,6 +108,10 @@
#define DFS_O_EXCL O_EXCL
#define DFS_O_TRUNC O_TRUNC
#define DFS_O_APPEND O_APPEND
+
+#ifndef O_DIRECTORY
+#define O_DIRECTORY 0x0200000
+#endif
#define DFS_O_DIRECTORY O_DIRECTORY
/* Seek flags */
diff --git a/components/dfs/include/dfs_posix.h b/components/dfs/include/dfs_posix.h
index 2e417c1461..d07bd925cc 100644
--- a/components/dfs/include/dfs_posix.h
+++ b/components/dfs/include/dfs_posix.h
@@ -20,10 +20,10 @@
* Change Logs:
* Date Author Notes
* 2009-05-27 Yi.qiu The first version.
- * 2010-07-18 Bernard add stat and statfs structure definitions.
+ * 2010-07-18 Bernard add stat and statfs structure definitions.
* 2011-05-16 Yi.qiu Change parameter name of rename, "new" is C++ key word.
*/
-
+
#ifndef __DFS_POSIX_H__
#define __DFS_POSIX_H__
@@ -49,15 +49,15 @@ extern "C" {
#if !defined(_WIN32)
#define S_IFMT DFS_S_IFMT
#define S_IFSOCK DFS_S_IFSOCK
-#define S_IFLNK DFS_S_IFLNK
-#define S_IFREG DFS_S_IFREG
-#define S_IFBLK DFS_S_IFBLK
-#define S_IFDIR DFS_S_IFDIR
-#define S_IFCHR DFS_S_IFCHR
-#define S_IFIFO DFS_S_IFIFO
-#define S_ISUID DFS_S_ISUID
-#define S_ISGID DFS_S_ISGID
-#define S_ISVTX DFS_S_ISVTX
+#define S_IFLNK DFS_S_IFLNK
+#define S_IFREG DFS_S_IFREG
+#define S_IFBLK DFS_S_IFBLK
+#define S_IFDIR DFS_S_IFDIR
+#define S_IFCHR DFS_S_IFCHR
+#define S_IFIFO DFS_S_IFIFO
+#define S_ISUID DFS_S_ISUID
+#define S_ISGID DFS_S_ISGID
+#define S_ISVTX DFS_S_ISVTX
#define S_ISLNK(m) (((m) & DFS_S_IFMT) == DFS_S_IFLNK)
#define S_ISREG(m) (((m) & DFS_S_IFMT) == DFS_S_IFREG)
@@ -94,7 +94,7 @@ extern "C" {
#define SEEK_END DFS_SEEK_END
#endif
-typedef struct
+typedef struct
{
int fd; /* directory file */
char buf[512];
@@ -119,7 +119,7 @@ int closedir(DIR* d);
struct stat;
/* file api*/
-int open(const char *file, int flags, int mode);
+int open(const char *file, int flags, ...);
int close(int d);
#ifdef RT_USING_NEWLIB
_READ_WRITE_RETURN_TYPE _EXFUN(read, (int __fd, void *__buf, size_t __nbyte));
diff --git a/components/dfs/src/dfs_posix.c b/components/dfs/src/dfs_posix.c
index 0f1d9569e6..1172a879a3 100644
--- a/components/dfs/src/dfs_posix.c
+++ b/components/dfs/src/dfs_posix.c
@@ -41,7 +41,7 @@
*
* @return the non-negative integer on successful open, others for failed.
*/
-int open(const char *file, int flags, int mode)
+int open(const char *file, int flags, ...)
{
int fd, result;
struct dfs_fd *d;