From 6126236e8af22024446694b0a0f799ccc585649e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Thu, 18 Sep 2008 16:04:28 +0000 Subject: [PATCH] * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27627 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../kernel/file_systems/bfs/BPlusTree.cpp | 41 +++++++++---------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/src/add-ons/kernel/file_systems/bfs/BPlusTree.cpp b/src/add-ons/kernel/file_systems/bfs/BPlusTree.cpp index 757ed90135..f8484d491b 100644 --- a/src/add-ons/kernel/file_systems/bfs/BPlusTree.cpp +++ b/src/add-ons/kernel/file_systems/bfs/BPlusTree.cpp @@ -473,30 +473,29 @@ BPlusTree::SetTo(Inode* stream) fNodeSize = fHeader->NodeSize(); - { - uint32 toMode[] = {S_STR_INDEX, S_INT_INDEX, S_UINT_INDEX, - S_LONG_LONG_INDEX, S_ULONG_LONG_INDEX, S_FLOAT_INDEX, - S_DOUBLE_INDEX}; - uint32 mode = stream->Mode() & (S_STR_INDEX | S_INT_INDEX - | S_UINT_INDEX | S_LONG_LONG_INDEX | S_ULONG_LONG_INDEX - | S_FLOAT_INDEX | S_DOUBLE_INDEX); + // validity check + uint32 toMode[] = {S_STR_INDEX, S_INT_INDEX, S_UINT_INDEX, + S_LONG_LONG_INDEX, S_ULONG_LONG_INDEX, S_FLOAT_INDEX, + S_DOUBLE_INDEX}; + uint32 mode = stream->Mode() & (S_STR_INDEX | S_INT_INDEX + | S_UINT_INDEX | S_LONG_LONG_INDEX | S_ULONG_LONG_INDEX + | S_FLOAT_INDEX | S_DOUBLE_INDEX); - if (fHeader->DataType() > BPLUSTREE_DOUBLE_TYPE - || ((stream->Mode() & S_INDEX_DIR) != 0 - && toMode[fHeader->DataType()] != mode) - || !stream->IsContainer()) { - D( dump_bplustree_header(fHeader); - dump_inode(&stream->Node()); - ); - RETURN_ERROR(fStatus = B_BAD_TYPE); - } - - // although it's in stat.h, the S_ALLOW_DUPS flag is obviously unused - // in the original BFS code - we will honour it nevertheless - fAllowDuplicates = stream->IsIndex() - || (stream->Mode() & S_ALLOW_DUPS) != 0; + if (fHeader->DataType() > BPLUSTREE_DOUBLE_TYPE + || ((stream->Mode() & S_INDEX_DIR) != 0 + && toMode[fHeader->DataType()] != mode) + || !stream->IsContainer()) { + D( dump_bplustree_header(fHeader); + dump_inode(&stream->Node()); + ); + RETURN_ERROR(fStatus = B_BAD_TYPE); } + // although it's in stat.h, the S_ALLOW_DUPS flag is obviously unused + // in the original BFS code - we will honour it nevertheless + fAllowDuplicates = stream->IsIndex() + || (stream->Mode() & S_ALLOW_DUPS) != 0; + CachedNode cached(this, fHeader->RootNode()); RETURN_ERROR(fStatus = cached.Node() ? B_OK : B_BAD_DATA); }