commit 9f505b4d0f39c10dd4c5643a0d49cff25a3bb41b
parent 60d0b7d0c3f727f32d29e1fc8a9a32dcf4fefbfa
Author: zeertzjq <zeertzjq@outlook.com>
Date: Fri, 6 Jun 2025 13:49:22 +0800
refactor: make two functions used only in memory.c static (#34339)
After #29450 try_to_free_memory() is only used in memory.c.
Also move do_outofmem_msg() closer to where it's used.
Diffstat:
2 files changed, 23 insertions(+), 24 deletions(-)
diff --git a/src/nvim/memory.c b/src/nvim/memory.c
@@ -42,7 +42,6 @@
#include "nvim/ui_client.h"
#include "nvim/ui_compositor.h"
#include "nvim/usercmd.h"
-#include "nvim/vim_defs.h"
#ifdef UNIT_TESTING
# define malloc(size) mem_malloc(size)
@@ -65,7 +64,7 @@ bool entered_free_all_mem = false;
/// Try to free memory. Used when trying to recover from out of memory errors.
/// @see {xmalloc}
-void try_to_free_memory(void)
+static void try_to_free_memory(void)
{
static bool trying_to_free = false;
// avoid recursive calls
@@ -84,6 +83,24 @@ void try_to_free_memory(void)
trying_to_free = false;
}
+/// Avoid repeating the error message many times (they take 1 second each).
+/// `did_outofmem_msg` is reset when a character is read.
+static void do_outofmem_msg(size_t size)
+{
+ if (did_outofmem_msg) {
+ return;
+ }
+
+ // Don't hide this message
+ emsg_silent = 0;
+
+ // Must come first to avoid coming back here when printing the error
+ // message fails, e.g. when setting v:errmsg.
+ did_outofmem_msg = true;
+
+ semsg(_("E342: Out of memory! (allocating %" PRIu64 " bytes)"), (uint64_t)size);
+}
+
/// malloc() wrapper
///
/// try_malloc() is a malloc() wrapper that tries to free some memory before
@@ -540,24 +557,6 @@ bool strnequal(const char *a, const char *b, size_t n)
return (a == NULL && b == NULL) || (a && b && strncmp(a, b, n) == 0);
}
-// Avoid repeating the error message many times (they take 1 second each).
-// Did_outofmem_msg is reset when a character is read.
-void do_outofmem_msg(size_t size)
-{
- if (did_outofmem_msg) {
- return;
- }
-
- // Don't hide this message
- emsg_silent = 0;
-
- // Must come first to avoid coming back here when printing the error
- // message fails, e.g. when setting v:errmsg.
- did_outofmem_msg = true;
-
- semsg(_("E342: Out of memory! (allocating %" PRIu64 " bytes)"), (uint64_t)size);
-}
-
/// Writes time_t to "buf[8]".
void time_to_bytes(time_t time_, uint8_t buf[8])
{
diff --git a/src/nvim/memory.h b/src/nvim/memory.h
@@ -21,10 +21,6 @@ typedef void *(*MemCalloc)(size_t, size_t);
/// `realloc()` function signature
typedef void *(*MemRealloc)(void *, size_t);
-typedef void *(*MergeSortGetFunc)(void *);
-typedef void (*MergeSortSetFunc)(void *, void *);
-typedef int (*MergeSortCompareFunc)(const void *, const void *);
-
#ifdef UNIT_TESTING
/// When unit testing: pointer to the `malloc()` function, may be altered
extern MemMalloc mem_malloc;
@@ -44,6 +40,10 @@ extern MemRealloc mem_realloc;
extern bool entered_free_all_mem;
#endif
+typedef void *(*MergeSortGetFunc)(void *);
+typedef void (*MergeSortSetFunc)(void *, void *);
+typedef int (*MergeSortCompareFunc)(const void *, const void *);
+
EXTERN size_t arena_alloc_count INIT( = 0);
#define kv_fixsize_arena(a, v, s) \