-/* Macro for dynamic allocation of memory. */
-#define MEM_GET( pt ) ( pt = mem_get( sizeof( *pt ) ) )
-
-/* Macro for resetting a pointer to all \0's. */
-#define MEM_ZERO( pt ) ( memset( pt, '\0', sizeof( *pt ) ) )
-
-/* Macro for cloning a structure in memroy. */
-#define MEM_CLONE( pt ) mem_clone( pt, sizeof( ( pt )[ 0 ] ) )
-
/* Get a pointer with a given size of allocated memory. */
void *mem_get( size_t size );
void *mem_get_zero( size_t size );
/* Resize allocated memory for a given pointer. */
-void *mem_resize( void* pt, size_t size );
+void *mem_resize( void *pt, size_t size );
/* Resize allocated memory for a given pointer with extra memory zero'ed. */
-void *mem_resize_zero( void* pt, size_t old_size, size_t new_size );
+void *mem_resize_zero( void *pt, size_t old_size, size_t new_size );
/* Clone a structure in memory and return a pointer to the clone. */
void *mem_clone( void *old_pt, size_t size );
/* Free memory from a given pointer. */
-void mem_free( void *pt );
-
-/* Zero and then free memory from a given pointer. */
-void mem_free_zero( void *pt );
+void mem_free( void **ppt );