diff options
author | Michal Krol <[email protected]> | 2009-12-29 22:49:31 +0100 |
---|---|---|
committer | Michal Krol <[email protected]> | 2009-12-29 22:49:31 +0100 |
commit | 7124fa16efe0f8ffb402bcd182f276032bed378d (patch) | |
tree | 8ebf82a26ae2c532e473586ea19b4d8131fe7733 /src/gallium/auxiliary/translate/translate.h | |
parent | f7d1689cfa8e3eb2aea4b86031510323b4d13110 (diff) |
translate: Fix translate_key_compare().
Sizes of translate keys must also match.
Diffstat (limited to 'src/gallium/auxiliary/translate/translate.h')
-rw-r--r-- | src/gallium/auxiliary/translate/translate.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/gallium/auxiliary/translate/translate.h b/src/gallium/auxiliary/translate/translate.h index 34526eb0617..1afdf194b31 100644 --- a/src/gallium/auxiliary/translate/translate.h +++ b/src/gallium/auxiliary/translate/translate.h @@ -103,8 +103,13 @@ static INLINE int translate_keysize( const struct translate_key *key ) static INLINE int translate_key_compare( const struct translate_key *a, const struct translate_key *b ) { - int keysize = translate_keysize(a); - return memcmp(a, b, keysize); + int keysize_a = translate_keysize(a); + int keysize_b = translate_keysize(b); + + if (keysize_a != keysize_b) { + return keysize_a - keysize_b; + } + return memcmp(a, b, keysize_a); } |