These API functions are a set of wrapper functions around the OS-specific
memory management functions: they are used to keep the user-level code portable.
Their definitions are straighforward so we will not get into any details.
XXX: check for g_new behaviour when memory allocation problem.
Details
art_alloc
#define art_alloc malloc
Same semantics as those of the standard C malloc function.
art_free
#define art_free free
Same semantics as those of the standard C free function.
art_realloc
#define art_realloc realloc
Same semantics as those of the standard C realloc function.
This macro is not equivalent to the glib g_new function. As
g_new, it takes two parameters: the type of the object to
instantiate as first parameter and the number of such objects to instantiate as
second parameter. It will return a dynamically allocated array of memory you can
use to store objects in. In case of failure of the memory allocation, it will
return NULL (this is very diffrent from g_new which does not
return in case of failure. g_new allways suceeds).