aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/nvim/shada.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/nvim/shada.c b/src/nvim/shada.c
index 9e745431cb..cb5b5087f6 100644
--- a/src/nvim/shada.c
+++ b/src/nvim/shada.c
@@ -1213,10 +1213,10 @@ static inline bool marks_equal(const pos_T a, const pos_T b)
if (i > 0) { \
if (jl_len == JUMPLISTSIZE) { \
free_func(jumps[0]); \
- if (i == JUMPLISTSIZE) { \
- i = JUMPLISTSIZE - 1; \
+ i--; \
+ if (i > 0) { \
+ memmove(&jumps[0], &jumps[1], sizeof(jumps[1]) * (size_t) i); \
} \
- memmove(&jumps[0], &jumps[1], sizeof(jumps[1]) * (size_t) i); \
} else if (i != jl_len) { \
memmove(&jumps[i + 1], &jumps[i], \
sizeof(jumps[0]) * (size_t) (jl_len - i)); \