diff --git a/components/dfs/filesystems/jffs2/dfs_jffs2.c b/components/dfs/filesystems/jffs2/dfs_jffs2.c index 77c0a71f1d..176f7c65f0 100644 --- a/components/dfs/filesystems/jffs2/dfs_jffs2.c +++ b/components/dfs/filesystems/jffs2/dfs_jffs2.c @@ -287,8 +287,12 @@ static int dfs_jffs2_open(struct dfs_fd* file) /* open dir */ result = jffs2_opendir(mte, mte->root, name, jffs2_file); if (result) + { return jffs2_result_to_dfs(result); - + } +#ifdef CONFIG_JFFS2_NO_RELATIVEDIR + jffs2_file->f_offset = 2; +#endif /* save this pointer, it will be used by dfs_jffs2_getdents*/ file->data = jffs2_file; return 0; diff --git a/components/dfs/filesystems/jffs2/jffs2_config.h b/components/dfs/filesystems/jffs2/jffs2_config.h index 9a8e2c565b..f07d7760f8 100644 --- a/components/dfs/filesystems/jffs2/jffs2_config.h +++ b/components/dfs/filesystems/jffs2/jffs2_config.h @@ -7,6 +7,18 @@ #define DEVICE_PART_MAX 1 /* the max partions on a nand deivce*/ + +/* jffs2 support relative dir, command "ls" will get + * +-------------------------------+ + * | finsh>>ls("/") | + * | Directory /: | + * | .