2 Copyright © 1995-2012, The AROS Development Team. All rights reserved.
8 #include "__arosc_privdata.h"
9 #include "__memalign.h"
11 #include <exec/memory.h>
12 #include <proto/exec.h>
14 /*****************************************************************************
25 Return memory allocated with malloc() or a similar function to the
29 memory - The result of the previous call to malloc(), etc. or
36 This function must not be used in a shared library or in a threaded
48 ******************************************************************************/
50 struct aroscbase
*aroscbase
= __aros_getbase_aroscbase();
56 mem
= ((UBYTE
*)memory
) - AROS_ALIGN(sizeof(size_t));
58 size
= *((size_t *) mem
);
59 if (size
== MEMALIGN_MAGIC
)
60 free(((void **) mem
)[-1]);
62 size
+= AROS_ALIGN(sizeof(size_t));
63 FreePooled (aroscbase
->acb_mempool
, mem
, size
);