diff --git a/include/polarssl/platform.h b/include/polarssl/platform.h index dd7e55808f..3e76c301bb 100644 --- a/include/polarssl/platform.h +++ b/include/polarssl/platform.h @@ -80,6 +80,11 @@ extern "C" { * The function pointers for malloc and free */ #if defined(POLARSSL_PLATFORM_MEMORY) +#if defined(POLARSSL_PLATFORM_FREE_MACRO) &&\ + defined(POLARSSL_PLATFORM_MALLOC_MACRO) +#define polarssl_free POLARSSL_PLATFORM_FREE_MACRO +#define polarssl_malloc POLARSSL_PLATFORM_MALLOC_MACRO +#else extern void * (*polarssl_malloc)( size_t len ); extern void (*polarssl_free)( void *ptr ); @@ -93,22 +98,11 @@ extern void (*polarssl_free)( void *ptr ); */ int platform_set_malloc_free( void * (*malloc_func)( size_t ), void (*free_func)( void * ) ); +#endif /* POLARSSL_PLATFORM_FREE_MACRO && POLARSSL_PLATFORM_MALLOC_MACRO */ #else /* !POLARSSL_PLATFORM_MEMORY */ -#define polarssl_malloc malloc -#define polarssl_free free -#endif /* POLARSSL_PLATFORM_MEMORY */ -#else /* POLARSSL_PLATFORM_ENTROPY */ -#if defined(POLARSSL_PLATFORM_FREE_MACRO) -#define polarssl_free POLARSSL_PLATFORM_FREE_MACRO -#else #define polarssl_free free -#endif /* POLARSSL_PLATFORM_FREE_MACRO */ -#if defined(POLARSSL_PLATFORM_MALLOC_MACRO) -#define polarssl_malloc POLARSSL_PLATFORM_MALLOC_MACRO -#else #define polarssl_malloc malloc -#endif /* POLARSSL_PLATFORM_MALLOC_MACRO */ -#endif /* POLARSSL_PLATFORM_ENTROPY */ +#endif /* POLARSSL_PLATFORM_MEMORY && !POLARSSL_PLATFORM_{FREE,MALLOC}_MACRO */ /* * The function pointers for fprintf