@@ -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];
@@ -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