* Fixed the bfs_write() error code for directories as suggested by Jerome.
* Removed a few superfluous checks. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26191 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -1179,9 +1179,7 @@ bfs_read(fs_volume *_volume, fs_vnode *_node, void *_cookie, off_t pos,
|
|||||||
|
|
||||||
if (!inode->HasUserAccessableStream()) {
|
if (!inode->HasUserAccessableStream()) {
|
||||||
*_length = 0;
|
*_length = 0;
|
||||||
if (inode->IsDirectory())
|
return inode->IsDirectory() ? B_IS_A_DIRECTORY : B_BAD_VALUE;
|
||||||
RETURN_ERROR(B_IS_A_DIRECTORY);
|
|
||||||
RETURN_ERROR(B_BAD_VALUE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return inode->ReadAt(pos, (uint8 *)buffer, _length);
|
return inode->ReadAt(pos, (uint8 *)buffer, _length);
|
||||||
@@ -1201,7 +1199,7 @@ bfs_write(fs_volume *_volume, fs_vnode *_node, void *_cookie, off_t pos,
|
|||||||
|
|
||||||
if (!inode->HasUserAccessableStream()) {
|
if (!inode->HasUserAccessableStream()) {
|
||||||
*_length = 0;
|
*_length = 0;
|
||||||
RETURN_ERROR(B_BAD_VALUE);
|
return inode->IsDirectory() ? B_IS_A_DIRECTORY : B_BAD_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
file_cookie *cookie = (file_cookie *)_cookie;
|
file_cookie *cookie = (file_cookie *)_cookie;
|
||||||
@@ -1475,8 +1473,6 @@ bfs_read_dir(fs_volume *_volume, fs_vnode *_node, void *_cookie,
|
|||||||
FUNCTION();
|
FUNCTION();
|
||||||
|
|
||||||
TreeIterator *iterator = (TreeIterator *)_cookie;
|
TreeIterator *iterator = (TreeIterator *)_cookie;
|
||||||
if (iterator == NULL)
|
|
||||||
RETURN_ERROR(B_BAD_VALUE);
|
|
||||||
|
|
||||||
uint16 length;
|
uint16 length;
|
||||||
ino_t id;
|
ino_t id;
|
||||||
@@ -1507,9 +1503,6 @@ bfs_rewind_dir(fs_volume * /*_volume*/, fs_vnode * /*node*/, void *_cookie)
|
|||||||
FUNCTION();
|
FUNCTION();
|
||||||
TreeIterator *iterator = (TreeIterator *)_cookie;
|
TreeIterator *iterator = (TreeIterator *)_cookie;
|
||||||
|
|
||||||
if (iterator == NULL)
|
|
||||||
RETURN_ERROR(B_BAD_VALUE);
|
|
||||||
|
|
||||||
return iterator->Rewind();
|
return iterator->Rewind();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1525,12 +1518,7 @@ bfs_close_dir(fs_volume * /*_volume*/, fs_vnode * /*node*/, void * /*_cookie*/)
|
|||||||
static status_t
|
static status_t
|
||||||
bfs_free_dir_cookie(fs_volume *_volume, fs_vnode *node, void *_cookie)
|
bfs_free_dir_cookie(fs_volume *_volume, fs_vnode *node, void *_cookie)
|
||||||
{
|
{
|
||||||
TreeIterator *iterator = (TreeIterator *)_cookie;
|
delete (TreeIterator *)_cookie;
|
||||||
|
|
||||||
if (iterator == NULL)
|
|
||||||
RETURN_ERROR(B_BAD_VALUE);
|
|
||||||
|
|
||||||
delete iterator;
|
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user