Просмотр исходного кода

内核使用lwp_getcwd打开文件有错误,无法获取当前目录

@lin12345678 4 лет назад
Родитель
Сommit
9933755954
2 измененных файлов с 10 добавлено и 5 удалено
  1. 0 4
      components/dfs/src/dfs_posix.c
  2. 10 1
      components/lwp/lwp.c

+ 0 - 4
components/dfs/src/dfs_posix.c

@@ -936,10 +936,6 @@ char *getcwd(char *buf, size_t size)
     dfs_lock();
 #ifdef RT_USING_LWP
     dir_buf = lwp_getcwd();
-    if(dir_buf[0] != '/')
-    {
-        dir_buf = &working_directory[0];
-    }
     rt_strncpy(buf, dir_buf, size);
 #else
     dir_buf = &working_directory[0];

+ 10 - 1
components/lwp/lwp.c

@@ -80,7 +80,16 @@ char *lwp_getcwd(void)
 
     lwp = (struct rt_lwp *)rt_thread_self()->lwp;
     if (lwp)
-        dir_buf = &lwp->working_directory[0];
+    {
+        if(lwp->working_directory[0] != '/')
+        {
+            dir_buf = &working_directory[0];
+        }
+        else
+        {
+            dir_buf = &lwp->working_directory[0];
+        }
+    }
     else
         dir_buf = &working_directory[0];
 #else