summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libc/imfs_eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libc/imfs_eval.c')
-rw-r--r--c/src/lib/libc/imfs_eval.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/c/src/lib/libc/imfs_eval.c b/c/src/lib/libc/imfs_eval.c
index e06301029f..ee488f1a19 100644
--- a/c/src/lib/libc/imfs_eval.c
+++ b/c/src/lib/libc/imfs_eval.c
@@ -32,11 +32,13 @@ int IMFS_Set_handlers(
rtems_filesystem_location_info_t *loc
)
{
- IMFS_jnode_t *node = loc->node_access;
+ IMFS_jnode_t *node = loc->node_access;
+ IMFS_fs_info_t *fs_info;
+ fs_info = loc->mt_entry->fs_info;
switch( node->type ) {
case IMFS_DIRECTORY:
- loc->handlers = &IMFS_directory_handlers;
+ loc->handlers = fs_info->directory_handlers;
break;
case IMFS_DEVICE:
loc->handlers = &IMFS_device_handlers;
@@ -46,7 +48,7 @@ int IMFS_Set_handlers(
loc->handlers = &rtems_filesystem_null_handlers;
break;
case IMFS_MEMORY_FILE:
- loc->handlers = &IMFS_memfile_handlers;
+ loc->handlers = fs_info->memfile_handlers;
break;
}