diff options
author | unknown <joerg@mysql.com> | 2004-10-07 12:02:22 +0200 |
---|---|---|
committer | unknown <joerg@mysql.com> | 2004-10-07 12:02:22 +0200 |
commit | 3743df6e8e07e4fb2972b40f8ae3f3231d444d51 (patch) | |
tree | 59edee8126501bab3f2e0a78641777b0f0630b47 /innobase/lock | |
parent | 0129f32bfcec1e0e283699d4dee7429d33906a79 (diff) | |
download | mariadb-git-3743df6e8e07e4fb2972b40f8ae3f3231d444d51.tar.gz |
Correct an 'unresolved identifier' problem caused by an "inline"
function being used before it was defined - "forward" declaration
was insufficient.
innobase/lock/lock0lock.c:
Compile problem on 'build', solved by moving the definition of
'lock_rec_get_nth_bit' to the place of the ("forward") declaration.
It is "inline", and now the body really appears before the first use.
Diffstat (limited to 'innobase/lock')
-rw-r--r-- | innobase/lock/lock0lock.c | 54 |
1 files changed, 23 insertions, 31 deletions
diff --git a/innobase/lock/lock0lock.c b/innobase/lock/lock0lock.c index e6d478070b0..68073647248 100644 --- a/innobase/lock/lock0lock.c +++ b/innobase/lock/lock0lock.c @@ -373,7 +373,29 @@ lock_rec_get_nth_bit( /*=================*/ /* out: TRUE if bit set */ lock_t* lock, /* in: record lock */ - ulint i); /* in: index of the bit */ + ulint i) /* in: index of the bit */ +{ + ulint byte_index; + ulint bit_index; + ulint b; + + ut_ad(lock); + ut_ad(lock_get_type(lock) == LOCK_REC); + + if (i >= lock->un_member.rec_lock.n_bits) { + + return(FALSE); + } + + byte_index = i / 8; + bit_index = i % 8; + + b = (ulint)*((byte*)lock + sizeof(lock_t) + byte_index); + + return(ut_bit_get_nth(b, bit_index)); +} + +/*************************************************************************/ #define lock_mutex_enter_kernel() mutex_enter(&kernel_mutex) #define lock_mutex_exit_kernel() mutex_exit(&kernel_mutex) @@ -883,36 +905,6 @@ lock_rec_get_n_bits( return(lock->un_member.rec_lock.n_bits); } -/************************************************************************* -Gets the nth bit of a record lock. */ -UNIV_INLINE -ibool -lock_rec_get_nth_bit( -/*=================*/ - /* out: TRUE if bit set */ - lock_t* lock, /* in: record lock */ - ulint i) /* in: index of the bit */ -{ - ulint byte_index; - ulint bit_index; - ulint b; - - ut_ad(lock); - ut_ad(lock_get_type(lock) == LOCK_REC); - - if (i >= lock->un_member.rec_lock.n_bits) { - - return(FALSE); - } - - byte_index = i / 8; - bit_index = i % 8; - - b = (ulint)*((byte*)lock + sizeof(lock_t) + byte_index); - - return(ut_bit_get_nth(b, bit_index)); -} - /************************************************************************** Sets the nth bit of a record lock to TRUE. */ UNIV_INLINE |