소스 검색

[libc] fix compiling warning

Bernard Xiong 10 년 전
부모
커밋
59c128c073
2개의 변경된 파일16개의 추가작업 그리고 3개의 파일을 삭제
  1. 8 3
      components/dfs/src/dfs_posix.c
  2. 8 0
      components/libc/newlib/syscalls.c

+ 8 - 3
components/dfs/src/dfs_posix.c

@@ -537,12 +537,17 @@ struct dirent *readdir(DIR *d)
     if (fd == RT_NULL)
     {
         rt_set_errno(-DFS_STATUS_EBADF);
-
         return RT_NULL;
     }
 
-    if (!d->num ||
-        (d->cur += ((struct dirent *)(d->buf + d->cur))->d_reclen) >= d->num)
+    if (d->num)
+    {
+        struct dirent* dirent_ptr;
+        dirent_ptr = (struct dirent*)&d->buf[d->cur];
+        d->cur += dirent_ptr->d_reclen;
+    }
+
+    if (!d->num || d->cur >= d->num)
     {
         /* get a new entry */
         result = dfs_file_getdents(fd,

+ 8 - 0
components/libc/newlib/syscalls.c

@@ -3,6 +3,14 @@
 #include <sys/time.h>
 #include <rtthread.h>
 
+#ifdef RT_USING_DFS
+#include <dfs_posix.h>
+#endif
+
+#ifdef RT_USING_PTHREADS 
+#include <pthread.h>
+#endif
+
 /* Reentrant versions of system calls.  */
 
 int