summaryrefslogtreecommitdiff
path: root/shared-module
diff options
context:
space:
mode:
authorJeff Epler <jepler@gmail.com>2018-03-27 21:28:18 -0500
committerJeff Epler <jepler@gmail.com>2018-03-27 21:28:18 -0500
commit968763aa1d4ee5ed597d6f32b19fef6cbbed5c5c (patch)
treeab3b8cee4b00b781c9de226c1cca9861c8fd8035 /shared-module
parent1eba5804434a8acc182c23aadf5b5a5dcbe901fa (diff)
factor out storage_object_from_path
Diffstat (limited to 'shared-module')
-rw-r--r--shared-module/storage/__init__.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/shared-module/storage/__init__.c b/shared-module/storage/__init__.c
index 97a049bac..3e7b90384 100644
--- a/shared-module/storage/__init__.c
+++ b/shared-module/storage/__init__.c
@@ -109,19 +109,15 @@ void common_hal_storage_umount_object(mp_obj_t vfs_obj) {
mp_vfs_proxy_call(vfs, MP_QSTR_umount, 0, NULL);
}
-void common_hal_storage_umount_path(const char* mount_path) {
- // remove vfs from the mount table
- mp_obj_t *vfs_obj = NULL;
+STATIC mp_obj_t storage_object_from_path(const char* mount_path) {
for (mp_vfs_mount_t **vfsp = &MP_STATE_VM(vfs_mount_table); *vfsp != NULL; vfsp = &(*vfsp)->next) {
if (strcmp(mount_path, (*vfsp)->str) == 0) {
- vfs_obj = (*vfsp)->obj;
- break;
+ return (*vfsp)->obj;
}
}
+ mp_raise_OSError(MP_EINVAL);
+}
- if (vfs_obj == NULL) {
- mp_raise_OSError(MP_EINVAL);
- }
-
- common_hal_storage_umount_object(vfs_obj);
+void common_hal_storage_umount_path(const char* mount_path) {
+ common_hal_storage_umount_object(storage_object_from_path(mount_path));
}