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.
This commit is contained in:
zeertzjq
2025-06-06 13:49:22 +08:00
committed by GitHub
parent 60d0b7d0c3
commit 9f505b4d0f
2 changed files with 23 additions and 24 deletions

View File

@@ -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])
{

View File

@@ -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) \