mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2026-01-27 03:52:19 +01:00
WC_VAR macros
This commit is contained in:
@@ -708,10 +708,11 @@ enum {
|
||||
idx##VAR_NAME = 0; \
|
||||
}
|
||||
|
||||
#if defined(WOLFSSL_ASYNC_CRYPT) || defined(WOLFSSL_SMALL_STACK)
|
||||
#if defined(WOLFSSL_SMALL_STACK)
|
||||
#define WC_DECLARE_VAR_IS_HEAP_ALLOC
|
||||
#define WC_DECLARE_VAR(VAR_NAME, VAR_TYPE, VAR_SIZE, HEAP) \
|
||||
VAR_TYPE* VAR_NAME = NULL
|
||||
#define WC_VAR_OK(VAR_NAME) ((VAR_NAME) != NULL)
|
||||
#define WC_ALLOC_VAR(VAR_NAME, VAR_TYPE, VAR_SIZE, HEAP) \
|
||||
do { \
|
||||
(VAR_NAME) = (VAR_TYPE*)XMALLOC(sizeof(VAR_TYPE) * (VAR_SIZE), \
|
||||
@@ -720,6 +721,14 @@ enum {
|
||||
WC_ALLOC_DO_ON_FAILURE(); \
|
||||
} \
|
||||
} while (0)
|
||||
#define WC_ALLOC_VAR_EX(VAR_NAME, VAR_TYPE, VAR_SIZE, HEAP, TY, ONFAIL)\
|
||||
do { \
|
||||
(VAR_NAME) = (VAR_TYPE*)XMALLOC(sizeof(VAR_TYPE) * (VAR_SIZE), \
|
||||
(HEAP), TY); \
|
||||
if ((VAR_NAME) == NULL) { \
|
||||
ONFAIL; \
|
||||
} \
|
||||
} while (0)
|
||||
#define WC_CALLOC_VAR(VAR_NAME, VAR_TYPE, VAR_SIZE, HEAP) \
|
||||
do { \
|
||||
WC_ALLOC_VAR(VAR_NAME, VAR_TYPE, VAR_SIZE, HEAP); \
|
||||
@@ -727,6 +736,8 @@ enum {
|
||||
} while (0)
|
||||
#define WC_FREE_VAR(VAR_NAME, HEAP) \
|
||||
XFREE(VAR_NAME, (HEAP), DYNAMIC_TYPE_WOLF_BIGINT)
|
||||
#define WC_FREE_VAR_EX(VAR_NAME, HEAP, TYPE) \
|
||||
XFREE(VAR_NAME, (HEAP), TYPE)
|
||||
#define WC_DECLARE_ARRAY(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP) \
|
||||
WC_DECLARE_HEAP_ARRAY(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP)
|
||||
#define WC_ARRAY_ARG(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE) \
|
||||
@@ -743,10 +754,14 @@ enum {
|
||||
#define WC_DECLARE_VAR(VAR_NAME, VAR_TYPE, VAR_SIZE, HEAP) \
|
||||
VAR_TYPE VAR_NAME[VAR_SIZE]
|
||||
#define WC_ALLOC_VAR(VAR_NAME, VAR_TYPE, VAR_SIZE, HEAP) WC_DO_NOTHING
|
||||
#define WC_ALLOC_VAR_EX(VAR_NAME, VAR_TYPE, VAR_SIZE, HEAP, TYPE, ONFAIL)\
|
||||
WC_DO_NOTHING
|
||||
#define WC_VAR_OK(VAR_NAME) 1
|
||||
#define WC_CALLOC_VAR(VAR_NAME, VAR_TYPE, VAR_SIZE, HEAP) \
|
||||
XMEMSET(VAR_NAME, 0, sizeof(var))
|
||||
#define WC_FREE_VAR(VAR_NAME, HEAP) WC_DO_NOTHING \
|
||||
/* nothing to free, its stack */
|
||||
#define WC_FREE_VAR_EX(VAR_NAME, HEAP, TYPE) WC_DO_NOTHING
|
||||
#define WC_DECLARE_ARRAY(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP) \
|
||||
VAR_TYPE VAR_NAME[VAR_ITEMS][(VAR_SIZE) / sizeof(VAR_TYPE)] /* NOLINT(bugprone-sizeof-expression) */
|
||||
#define WC_ARRAY_ARG(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE) \
|
||||
|
||||
Reference in New Issue
Block a user