move cwd fix to chdir

This commit is contained in:
Dave Murphy 2018-07-15 19:57:39 +01:00
parent b748f14bc9
commit c1e0ea9a6c

View File

@ -199,13 +199,6 @@ fsdev_fixpath(struct _reent *r,
strncpy(__fixedpath, path, PATH_MAX);
else
{
size_t __cwd_len = strlen(__cwd);
if (__cwd[__cwd_len-1] != '/' && __cwd_len < PATH_MAX)
{
__cwd[__cwd_len] = '/';
}
strncpy(__fixedpath, __cwd, PATH_MAX);
__fixedpath[PATH_MAX] = '\0';
strncat(__fixedpath, path, PATH_MAX - strlen(__cwd));
@ -1046,8 +1039,16 @@ fsdev_chdir(struct _reent *r,
if(R_SUCCEEDED(rc))
{
fsDirClose(&fd);
strncpy(__cwd, __fixedpath, PATH_MAX);
strncpy(__cwd, fs_path, PATH_MAX);
__cwd[PATH_MAX] = '\0';
size_t __cwd_len = strlen(__cwd);
if (__cwd[__cwd_len-1] != '/' && __cwd_len < PATH_MAX)
{
__cwd[__cwd_len] = '/';
}
fsdev_fsdevice_cwd = device->id;
return 0;
}