summaryrefslogtreecommitdiff
path: root/components/dfs
diff options
context:
space:
mode:
authorMan, Jianting (Meco) <[email protected]>2021-08-17 16:56:10 -0500
committerGitHub <[email protected]>2021-08-17 16:56:10 -0500
commit3e6578916f892e4456d9dff4bbd44590a0cb4bc8 (patch)
treeb98d9fe601ce62e17b37f5b971f0cc9f965fa0e3 /components/dfs
parent37a9231e6219b94f7cde8bdea9251e260c4bed18 (diff)
parent196f340e5d845efd005b57a2089e0642266a79be (diff)
Merge branch 'master' into security
Diffstat (limited to 'components/dfs')
-rw-r--r--components/dfs/Kconfig6
-rw-r--r--components/dfs/filesystems/devfs/devfs.c12
-rw-r--r--components/dfs/filesystems/elmfat/dfs_elm.c2
-rw-r--r--components/dfs/filesystems/nfs/dfs_nfs.c2
-rw-r--r--components/dfs/filesystems/romfs/dfs_romfs.c2
-rw-r--r--components/dfs/include/dfs_fs.h5
-rw-r--r--components/dfs/include/dfs_select.h2
-rw-r--r--components/dfs/src/dfs_file.c3
8 files changed, 17 insertions, 17 deletions
diff --git a/components/dfs/Kconfig b/components/dfs/Kconfig
index 39eca3c507..442c3bb260 100644
--- a/components/dfs/Kconfig
+++ b/components/dfs/Kconfig
@@ -14,13 +14,11 @@ if RT_USING_DFS
config DFS_FILESYSTEMS_MAX
int "The maximal number of mounted file system"
- default 4 if RT_USING_DFS_NFS
- default 2
+ default 4
config DFS_FILESYSTEM_TYPES_MAX
int "The maximal number of file system type"
- default 4 if RT_USING_DFS_NFS
- default 2
+ default 4
config DFS_FD_MAX
int "The maximal number of opened files"
diff --git a/components/dfs/filesystems/devfs/devfs.c b/components/dfs/filesystems/devfs/devfs.c
index 2e2248d5cc..d615482452 100644
--- a/components/dfs/filesystems/devfs/devfs.c
+++ b/components/dfs/filesystems/devfs/devfs.c
@@ -313,15 +313,13 @@ static const struct dfs_filesystem_ops _device_fs =
"devfs",
DFS_FS_FLAG_DEFAULT,
&_device_fops,
-
dfs_device_fs_mount,
- RT_NULL,
- RT_NULL,
- RT_NULL,
-
- RT_NULL,
+ RT_NULL, /*unmount*/
+ RT_NULL, /*mkfs*/
+ RT_NULL, /*statfs*/
+ RT_NULL, /*unlink*/
dfs_device_fs_stat,
- RT_NULL,
+ RT_NULL, /*rename*/
};
int devfs_init(void)
diff --git a/components/dfs/filesystems/elmfat/dfs_elm.c b/components/dfs/filesystems/elmfat/dfs_elm.c
index 07b8f62fed..41f99d7b62 100644
--- a/components/dfs/filesystems/elmfat/dfs_elm.c
+++ b/components/dfs/filesystems/elmfat/dfs_elm.c
@@ -647,7 +647,7 @@ int dfs_elm_getdents(struct dfs_fd *file, struct dirent *dirp, uint32_t count)
d->d_namlen = (rt_uint8_t)rt_strlen(fn);
d->d_reclen = (rt_uint16_t)sizeof(struct dirent);
- rt_strncpy(d->d_name, fn, rt_strlen(fn) + 1);
+ rt_strncpy(d->d_name, fn, DFS_PATH_MAX);
index ++;
if (index * sizeof(struct dirent) >= count)
diff --git a/components/dfs/filesystems/nfs/dfs_nfs.c b/components/dfs/filesystems/nfs/dfs_nfs.c
index e7ad488f7d..284d8d42af 100644
--- a/components/dfs/filesystems/nfs/dfs_nfs.c
+++ b/components/dfs/filesystems/nfs/dfs_nfs.c
@@ -1119,7 +1119,7 @@ int nfs_getdents(struct dfs_fd *file, struct dirent *dirp, uint32_t count)
d->d_namlen = rt_strlen(name);
d->d_reclen = (rt_uint16_t)sizeof(struct dirent);
- rt_strncpy(d->d_name, name, rt_strlen(name) + 1);
+ rt_strncpy(d->d_name, name, DFS_PATH_MAX);
index ++;
if (index * sizeof(struct dirent) >= count)
diff --git a/components/dfs/filesystems/romfs/dfs_romfs.c b/components/dfs/filesystems/romfs/dfs_romfs.c
index 1b2693fc3b..2e9b08cbf6 100644
--- a/components/dfs/filesystems/romfs/dfs_romfs.c
+++ b/components/dfs/filesystems/romfs/dfs_romfs.c
@@ -276,7 +276,7 @@ int dfs_romfs_getdents(struct dfs_fd *file, struct dirent *dirp, uint32_t count)
d->d_namlen = rt_strlen(name);
d->d_reclen = (rt_uint16_t)sizeof(struct dirent);
- rt_strncpy(d->d_name, name, rt_strlen(name) + 1);
+ rt_strncpy(d->d_name, name, DFS_PATH_MAX);
/* move to next position */
++ file->pos;
diff --git a/components/dfs/include/dfs_fs.h b/components/dfs/include/dfs_fs.h
index 8dc93f9599..3d194515df 100644
--- a/components/dfs/include/dfs_fs.h
+++ b/components/dfs/include/dfs_fs.h
@@ -12,7 +12,10 @@
#define __DFS_FS_H__
#include <dfs.h>
-
+#ifdef RT_USING_LIBC
+#include <sys/types.h>
+#endif
+#include <sys/errno.h>
#ifdef __cplusplus
extern "C" {
#endif
diff --git a/components/dfs/include/dfs_select.h b/components/dfs/include/dfs_select.h
index 458691df20..e0572c5059 100644
--- a/components/dfs/include/dfs_select.h
+++ b/components/dfs/include/dfs_select.h
@@ -10,7 +10,7 @@
#ifndef DFS_SELECT_H__
#define DFS_SELECT_H__
-#include <libc/libc_fdset.h>
+#include <sys/select.h>
#ifdef __cplusplus
extern "C" {
diff --git a/components/dfs/src/dfs_file.c b/components/dfs/src/dfs_file.c
index aa6494457a..fa0f6000b4 100644
--- a/components/dfs/src/dfs_file.c
+++ b/components/dfs/src/dfs_file.c
@@ -157,7 +157,7 @@ int dfs_file_ioctl(struct dfs_fd *fd, int cmd, void *args)
return -EINVAL;
/* regular file system fd */
- if (fd->type == FT_REGULAR || fd->type == FT_DEVICE)
+ if (fd->type == FT_REGULAR)
{
switch (cmd)
{
@@ -615,6 +615,7 @@ void cat(const char *filename)
}
}
while (length > 0);
+ rt_kprintf("\n");
dfs_file_close(&fd);
}