Commit 2b6d702e authored by Eli Zaretskii's avatar Eli Zaretskii

Fix the MS-Windows build broken by "Let the OS clear large new objects"

* src/w32heap.c (sys_calloc): New function, implements calloc
in terms of our private implementations of malloc.

* nt/inc/ms-w32.h (calloc): Redirect to sys_calloc.
parent fa7148fd
Pipeline #4470 passed with stage
in 59 minutes and 51 seconds
......@@ -499,6 +499,8 @@ extern void *malloc_after_dump_9x(size_t);
extern void *realloc_after_dump_9x(void *, size_t);
extern void free_after_dump_9x(void *);
extern void *sys_calloc(size_t, size_t);
extern malloc_fn the_malloc_fn;
extern realloc_fn the_realloc_fn;
extern free_fn the_free_fn;
......@@ -506,6 +508,7 @@ extern free_fn the_free_fn;
#define malloc(size) (*the_malloc_fn)(size)
#define free(ptr) (*the_free_fn)(ptr)
#define realloc(ptr, size) (*the_realloc_fn)(ptr, size)
#define calloc(num, size) sys_calloc(num, size)
#endif
......
......@@ -597,6 +597,16 @@ free_after_dump_9x (void *ptr)
}
}
void *
sys_calloc (size_t number, size_t size)
{
size_t nbytes = number * size;
void *ptr = (*the_malloc_fn) (nbytes);
if (ptr)
memset (ptr, 0, nbytes);
return ptr;
}
#if defined HAVE_UNEXEC && defined ENABLE_CHECKING
void
report_temacs_memory_usage (void)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment