X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fs%2Fbefs%2Fbtree.c;h=76e2197994095ca57c6f3c712e7b15e9b47e700e;hb=746550cff061581f89c687ada8523670768364f2;hp=e1a0256f586c16e71323acacc347d944125acaf9;hpb=86090fcac5e27b630656fe3d963a6b80e26dac44;p=linux-2.6.git diff --git a/fs/befs/btree.c b/fs/befs/btree.c index e1a0256f5..76e219799 100644 --- a/fs/befs/btree.c +++ b/fs/befs/btree.c @@ -372,12 +372,12 @@ befs_find_key(struct super_block *sb, befs_btree_node * node, thiskey = befs_bt_get_key(sb, node, mid, &keylen); eq = befs_compare_strings(thiskey, keylen, findkey, findkey_len); - *value = fs64_to_cpu(sb, valarray[mid]); if (eq == 0) { befs_debug(sb, "<--- befs_find_key() found %s at %d", thiskey, mid); + *value = fs64_to_cpu(sb, valarray[mid]); return BEFS_BT_MATCH; } if (eq > 0) @@ -387,6 +387,8 @@ befs_find_key(struct super_block *sb, befs_btree_node * node, } if (eq < 0) *value = fs64_to_cpu(sb, valarray[mid + 1]); + else + *value = fs64_to_cpu(sb, valarray[mid]); befs_debug(sb, "<--- befs_find_key() found %s at %d", thiskey, mid); return BEFS_BT_PARMATCH; }