Return: 0 = Keys are NOT equal; 1 = Keys are equal. */
| 124 | |
| 125 | /* Return: 0 = Keys are NOT equal; 1 = Keys are equal. */ |
| 126 | static inline int |
| 127 | bkt_keycmp(struct table *t, |
| 128 | struct bucket_extension *bkt, |
| 129 | uint8_t *input_key, |
| 130 | uint32_t bkt_pos, |
| 131 | uint32_t input_sig) |
| 132 | { |
| 133 | uint32_t bkt_key_id; |
| 134 | uint8_t *bkt_key; |
| 135 | |
| 136 | /* Key signature comparison. */ |
| 137 | if (input_sig != bkt->sig[bkt_pos]) |
| 138 | return 0; |
| 139 | |
| 140 | /* Key comparison. */ |
| 141 | bkt_key_id = bkt->key_id[bkt_pos]; |
| 142 | bkt_key = table_key(t, bkt_key_id); |
| 143 | return t->keycmp_func(bkt_key, input_key, t->params.key_size); |
| 144 | } |
| 145 | |
| 146 | static inline void |
| 147 | bkt_key_install(struct table *t, |
no test coverage detected