summaryrefslogtreecommitdiff
path: root/extmod
diff options
context:
space:
mode:
Diffstat (limited to 'extmod')
-rw-r--r--extmod/vfs_posix.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/extmod/vfs_posix.c b/extmod/vfs_posix.c
index 6df91a273..e29b47ccc 100644
--- a/extmod/vfs_posix.c
+++ b/extmod/vfs_posix.c
@@ -186,7 +186,14 @@ STATIC mp_obj_t vfs_posix_getcwd(mp_obj_t self_in) {
if (ret == NULL) {
mp_raise_OSError(errno);
}
- ret += self->root_len;
+ if (self->root_len > 0) {
+ ret += self->root_len - 1;
+ #ifdef _WIN32
+ if (*ret == '\\') {
+ *(char *)ret = '/';
+ }
+ #endif
+ }
return mp_obj_new_str(ret, strlen(ret));
}
STATIC MP_DEFINE_CONST_FUN_OBJ_1(vfs_posix_getcwd_obj, vfs_posix_getcwd);