1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- /* Copyright (c) 2010 James Grenning and Contributed to Unity Project
- * ==========================================
- * Unity Project - A Test Framework for C
- * Copyright (c) 2007 Mike Karlesky, Mark VanderVoord, Greg Williams
- * [Released under MIT License. Please refer to license.txt for details]
- * ========================================== */
- #ifndef UNITY_FIXTURE_MALLOC_OVERRIDES_H_
- #define UNITY_FIXTURE_MALLOC_OVERRIDES_H_
- #include <stddef.h>
- #ifdef UNITY_EXCLUDE_STDLIB_MALLOC
- /* Define this macro to remove the use of stdlib.h, malloc, and free.
- * Many embedded systems do not have a heap or malloc/free by default.
- * This internal unity_malloc() provides allocated memory deterministically from
- * the end of an array only, unity_free() only releases from end-of-array,
- * blocks are not coalesced, and memory not freed in LIFO order is stranded. */
- #ifndef UNITY_INTERNAL_HEAP_SIZE_BYTES
- #define UNITY_INTERNAL_HEAP_SIZE_BYTES 256
- #endif
- #endif
- /* These functions are used by the Unity Fixture to allocate and release memory
- * on the heap and can be overridden with platform-specific implementations.
- * For example, when using FreeRTOS UNITY_FIXTURE_MALLOC becomes pvPortMalloc()
- * and UNITY_FIXTURE_FREE becomes vPortFree(). */
- #if !defined(UNITY_FIXTURE_MALLOC) || !defined(UNITY_FIXTURE_FREE)
- #include <stdlib.h>
- #define UNITY_FIXTURE_MALLOC(size) malloc(size)
- #define UNITY_FIXTURE_FREE(ptr) free(ptr)
- #else
- extern void* UNITY_FIXTURE_MALLOC(size_t size);
- extern void UNITY_FIXTURE_FREE(void* ptr);
- #endif
- #define malloc unity_malloc
- #define calloc unity_calloc
- #define realloc unity_realloc
- #define free unity_free
- void* unity_malloc(size_t size);
- void* unity_calloc(size_t num, size_t size);
- void* unity_realloc(void * oldMem, size_t size);
- void unity_free(void * mem);
- #endif /* UNITY_FIXTURE_MALLOC_OVERRIDES_H_ */
|