diff options
Diffstat (limited to 'c/src/exec/libfs/src/imfs/imfs_eval.c')
-rw-r--r-- | c/src/exec/libfs/src/imfs/imfs_eval.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/c/src/exec/libfs/src/imfs/imfs_eval.c b/c/src/exec/libfs/src/imfs/imfs_eval.c index e06301029f..ee488f1a19 100644 --- a/c/src/exec/libfs/src/imfs/imfs_eval.c +++ b/c/src/exec/libfs/src/imfs/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; } |