aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/hashtab.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/hashtab.c')
-rw-r--r--src/nvim/hashtab.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/nvim/hashtab.c b/src/nvim/hashtab.c
index 2da937633e..376f33e23e 100644
--- a/src/nvim/hashtab.c
+++ b/src/nvim/hashtab.c
@@ -28,7 +28,6 @@
#include "nvim/hashtab.h"
#include "nvim/message.h"
#include "nvim/memory.h"
-#include "nvim/misc2.h"
// Magic value for algorithm that walks through the array.
#define PERTURB_SHIFT 5
@@ -37,6 +36,8 @@
# include "hashtab.c.generated.h"
#endif
+char hash_removed;
+
/// Initialize an empty hash table.
void hash_init(hashtab_T *ht)
{
@@ -369,8 +370,7 @@ hash_T hash_hash(char_u *key)
hash_T hash = *key;
if (hash == 0) {
- // Empty keys are not allowed, but we don't want to crash if we get one.
- return (hash_T) 0;
+ return (hash_T)0;
}
// A simplistic algorithm that appears to do very well.
@@ -382,3 +382,13 @@ hash_T hash_hash(char_u *key)
return hash;
}
+
+/// Function to get HI_KEY_REMOVED value
+///
+/// Used for testing because luajit ffi does not allow getting addresses of
+/// globals.
+const char_u *_hash_key_removed(void)
+ FUNC_ATTR_PURE FUNC_ATTR_WARN_UNUSED_RESULT
+{
+ return HI_KEY_REMOVED;
+}