diff --git a/src/add-ons/kernel/file_systems/bfs/kernel_interface.cpp b/src/add-ons/kernel/file_systems/bfs/kernel_interface.cpp index 8d120de691..ac027b7569 100644 --- a/src/add-ons/kernel/file_systems/bfs/kernel_interface.cpp +++ b/src/add-ons/kernel/file_systems/bfs/kernel_interface.cpp @@ -22,7 +22,10 @@ // TODO: temporary solution as long as there is no public I/O requests API #ifndef FS_SHELL # include +# include # include +#else +# include "fssh_kernel_priv.h" #endif @@ -1759,7 +1762,7 @@ bfs_read_dir(fs_volume* _volume, fs_vnode* _node, void* _cookie, dirent->d_dev = volume->ID(); dirent->d_ino = id; - dirent->d_reclen = offsetof(struct dirent, d_name) + length + 1; + dirent->d_reclen = ROUNDUP(offsetof(struct dirent, d_name) + length + 1, sizeof(void*)); bufferSize -= dirent->d_reclen; dirent = (struct dirent*)((uint8*)dirent + dirent->d_reclen);