Kaynağa Gözat

fix bug in f_seekdir in elm fatfs, with the patch provided by rogerz.zhang@gmail.com

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2198 bbd45198-f89e-11dd-88c7-29a3b14d5316
goprife@gmail.com 13 yıl önce
ebeveyn
işleme
e040266967
1 değiştirilmiş dosya ile 13 ekleme ve 1 silme
  1. 13 1
      components/dfs/filesystems/elmfat/ff.c

+ 13 - 1
components/dfs/filesystems/elmfat/ff.c

@@ -3033,10 +3033,22 @@ FRESULT f_seekdir(
 	int offset		/* the seek offset */
 )
 {
-	return dir_sdi(dj, offset);				/* seek directory index to offset */
+	int i = 0;
+
+	if (dir_sdi(dj, 0) != FR_OK || offset < 0)
+		return FR_INT_ERR;
+
+	while(i < offset)
+	{
+		if(dir_read(dj) != FR_OK || dir_next(dj, 0) != FR_OK)
+			return FR_INT_ERR;
+		i++;
+	} 
+	return FR_OK;
 }
 
 
+
 #if _FS_MINIMIZE == 0
 /*-----------------------------------------------------------------------*/
 /* Get File Status                                                       */