* @brief hash insert key. */
| 88 | * @brief hash insert key. |
| 89 | */ |
| 90 | int HashInsert(HashKey* key) { |
| 91 | if (!key || !_buckets) { |
| 92 | return -1; |
| 93 | } |
| 94 | |
| 95 | if ((key->_hash_value != 0) || (key->_next_entry != NULL)) { |
| 96 | return -2; |
| 97 | } |
| 98 | |
| 99 | key->_hash_value = key->HashValue(); |
| 100 | int idx = (key->_hash_value) % _max; |
| 101 | |
| 102 | HashKey* next_item = _buckets[idx]; |
| 103 | _buckets[idx] = key; |
| 104 | key->_next_entry = next_item; |
| 105 | _count++; |
| 106 | return 0; |
| 107 | } |
| 108 | |
| 109 | /** |
| 110 | * @brief hash lookup key. |
no test coverage detected