Ver Fonte

Merge pull request #165 from prife/jffs2-fix

DFS/jffs2: fix file mode init bug in jffs2_open/opendir
Bernard Xiong há 12 anos atrás
pai
commit
0d378bbeac

+ 1 - 0
components/dfs/filesystems/jffs2/dfs_jffs2.c

@@ -178,6 +178,7 @@ static int dfs_jffs2_mount(struct dfs_filesystem* fs,
 	result = jffs2_mount(NULL, mte);
 	if (result != 0)
 	{	
+		device_partition[index].dev = NULL;
 		return jffs2_result_to_dfs(result);
 	}
 	/* save this pointer */

+ 2 - 1
components/dfs/filesystems/jffs2/src/fs-ecos.c

@@ -747,7 +747,7 @@ int jffs2_open(cyg_mtab_entry * mte, cyg_dir dir, const char *name,
         }
 
 	// Initialise the file object
-	file->f_flag |= mode & CYG_FILE_MODE_MASK;
+	file->f_flag = mode & CYG_FILE_MODE_MASK;
 	file->f_type = CYG_FILE_TYPE_FILE;
 	file->f_ops = &jffs2_fileops;
 	file->f_offset = (mode & O_APPEND) ? node->i_size : 0;
@@ -1065,6 +1065,7 @@ static int jffs2_opendir(cyg_mtab_entry * mte, cyg_dir dir, const char *name,
 	// Initialize the file object, setting the f_ops field to a
 	// special set of file ops.
 
+	file->f_flag = 0;
 	file->f_type = CYG_FILE_TYPE_FILE;
 	file->f_ops = &jffs2_dirops;
 	file->f_offset = 0;