Memory

Memory — Memory handling functions

Synopsis




void        raptor_free_memory              (void *ptr);
void*       raptor_alloc_memory             (size_t size);
void*       raptor_calloc_memory            (size_t nmemb,
                                             size_t size);

Description

Wrappers around the free, malloc and calloc functions but called from inside the library. Required by some systems to handle multiple-HEAPs and pass memory to and from the library.

Details

raptor_free_memory ()

void        raptor_free_memory              (void *ptr);

Free memory allocated inside raptor.

Some systems require memory allocated in a library to be deallocated in that library. This function allows memory allocated by raptor to be freed.

Examples include the result of the '_to_' methods that returns allocated memory such as raptor_uri_filename_to_uri_string, raptor_uri_filename_to_uri_string and raptor_uri_uri_string_to_filename_fragment

ptr : memory pointer

raptor_alloc_memory ()

void*       raptor_alloc_memory             (size_t size);

Allocate memory inside raptor.

Some systems require memory allocated in a library to be deallocated in that library. This function allows memory to be allocated inside the raptor shared library that can be freed inside raptor either internally or via raptor_free_memory.

Examples include using this in the raptor_parser_generate_id() handler code to create new strings that will be used internally as short identifiers and freed later on by the parsers.

size : size of memory to allocate
Returns : the address of the allocated memory or NULL on failure

raptor_calloc_memory ()

void*       raptor_calloc_memory            (size_t nmemb,
                                             size_t size);

Allocate zeroed array of items inside raptor.

Some systems require memory allocated in a library to be deallocated in that library. This function allows memory to be allocated inside the raptor shared library that can be freed inside raptor either internally or via raptor_free_memory.

Examples include using this in the raptor_parser_generate_id() handler code to create new strings that will be used internally as short identifiers and freed later on by the parsers.

nmemb : number of members
size : size of item
Returns : the address of the allocated memory or NULL on failure