PulseAudio 17.0
xmalloc.h File Reference

Memory allocation functions. More...

Go to the source code of this file.

Macros

#define pa_xnew(type, n)
 Allocate n new structures of the specified type.
 
#define pa_xnew0(type, n)
 Same as pa_xnew() but set the memory to zero.
 
#define pa_xnewdup(type, p, n)
 Same as pa_xnew() but duplicate the specified data.
 
#define pa_xrenew(type, p, n)
 Reallocate n new structures of the specified type.
 

Functions

void * pa_xmalloc (size_t l) PA_GCC_MALLOC PA_GCC_ALLOC_SIZE(1)
 Allocate the specified number of bytes, just like malloc() does.
 
void * pa_xmalloc0 (size_t l) PA_GCC_MALLOC PA_GCC_ALLOC_SIZE(1)
 Same as pa_xmalloc(), but initialize allocated memory to 0.
 
void * pa_xrealloc (void *ptr, size_t size) PA_GCC_ALLOC_SIZE(2)
 The combination of pa_xmalloc() and realloc()
 
void pa_xfree (void *p)
 Free allocated memory.
 
char * pa_xstrdup (const char *s) PA_GCC_MALLOC
 Duplicate the specified string, allocating memory with pa_xmalloc()
 
char * pa_xstrndup (const char *s, size_t l) PA_GCC_MALLOC
 Duplicate the specified string, but truncate after l characters.
 
void * pa_xmemdup (const void *p, size_t l) PA_GCC_MALLOC PA_GCC_ALLOC_SIZE(2)
 Duplicate the specified memory block.
 

Detailed Description

Memory allocation functions.

Macro Definition Documentation

◆ pa_xnew

#define pa_xnew ( type,
n )
Value:
((type*) _pa_xnew_internal((n), sizeof(type)))

Allocate n new structures of the specified type.

◆ pa_xnew0

#define pa_xnew0 ( type,
n )
Value:
((type*) _pa_xnew0_internal((n), sizeof(type)))

Same as pa_xnew() but set the memory to zero.

◆ pa_xnewdup

#define pa_xnewdup ( type,
p,
n )
Value:
((type*) _pa_xnewdup_internal((p), (n), sizeof(type)))

Same as pa_xnew() but duplicate the specified data.

◆ pa_xrenew

#define pa_xrenew ( type,
p,
n )
Value:
((type*) _pa_xrenew_internal(p, (n), sizeof(type)))

Reallocate n new structures of the specified type.

Function Documentation

◆ pa_xfree()

void pa_xfree ( void * p)

Free allocated memory.

◆ pa_xmalloc()

void * pa_xmalloc ( size_t l)

Allocate the specified number of bytes, just like malloc() does.

However, in case of OOM, terminate

◆ pa_xmalloc0()

void * pa_xmalloc0 ( size_t l)

Same as pa_xmalloc(), but initialize allocated memory to 0.

◆ pa_xmemdup()

void * pa_xmemdup ( const void * p,
size_t l )

Duplicate the specified memory block.

◆ pa_xrealloc()

void * pa_xrealloc ( void * ptr,
size_t size )

The combination of pa_xmalloc() and realloc()

◆ pa_xstrdup()

char * pa_xstrdup ( const char * s)

Duplicate the specified string, allocating memory with pa_xmalloc()

◆ pa_xstrndup()

char * pa_xstrndup ( const char * s,
size_t l )

Duplicate the specified string, but truncate after l characters.