From fdf3fa9fe13ad76512bea8d28e5ccb09e23d5d5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Mon, 30 Jun 2008 23:06:41 +0000 Subject: [PATCH] read() expects B_IS_A_DIRECTORY on directories that can't be read. This fixes grep misbehavior with directories. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26186 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/file_systems/bfs/kernel_interface.cpp | 2 ++ 1 file changed, 2 insertions(+) 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 47033c2077..741869061a 100644 --- a/src/add-ons/kernel/file_systems/bfs/kernel_interface.cpp +++ b/src/add-ons/kernel/file_systems/bfs/kernel_interface.cpp @@ -1179,6 +1179,8 @@ bfs_read(fs_volume *_volume, fs_vnode *_node, void *_cookie, off_t pos, if (!inode->HasUserAccessableStream()) { *_length = 0; + if (inode->IsDirectory()) + RETURN_ERROR(B_IS_A_DIRECTORY); RETURN_ERROR(B_BAD_VALUE); }