1/*-------------------------------------------------------------------------
4 * memory management support for frontend code
6 * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
7 * Portions Copyright (c) 1994, Regents of the University of California
11 * src/common/fe_memutils.c
13 *-------------------------------------------------------------------------
17#error "This file is not expected to be compiled for backend code"
27 /* Avoid unportable behavior of malloc(0) */
35 fprintf(stderr,
_(
"out of memory\n"));
69 /* Avoid unportable behavior of realloc(NULL, 0) */
70 if (ptr == NULL && size == 0)
75 fprintf(stderr,
_(
"out of memory\n"));
82 * "Safe" wrapper around strdup().
92 _(
"cannot duplicate null pointer (internal error)\n"));
98 fprintf(stderr,
_(
"out of memory\n"));
111 * Frontend emulation of backend memory management functions. Useful for
112 * programs that compile backend files.
153 _(
"cannot duplicate null pointer (internal error)\n"));
161 fprintf(stderr,
_(
"out of memory\n"));
165 memcpy(tmp, in,
len);
#define MemSet(start, val, len)
#define fprintf(file, fmt, msg)
char * pstrdup(const char *in)
void * repalloc(void *pointer, Size size)
void pfree(void *pointer)
void * palloc0(Size size)
void * pg_malloc(size_t size)
static void * pg_malloc_internal(size_t size, int flags)
void * palloc_extended(Size size, int flags)
void * pg_malloc_extended(size_t size, int flags)
char * pg_strdup(const char *in)
void * pg_malloc0(size_t size)
char * pnstrdup(const char *in, Size size)
void * pg_realloc(void *ptr, size_t size)
#define MCXT_ALLOC_NO_OOM
size_t strnlen(const char *str, size_t maxlen)