Go to the documentation of this file. 31 #include "private/mem.h" 58 #define guac_mem_alloc(...) \ 59 PRIV_guac_mem_alloc( \ 60 sizeof((const size_t[]) { __VA_ARGS__ }) / sizeof(const size_t), \ 61 (const size_t[]) { __VA_ARGS__ } \ 87 #define guac_mem_zalloc(...) \ 88 PRIV_guac_mem_zalloc( \ 89 sizeof((const size_t[]) { __VA_ARGS__ }) / sizeof(const size_t), \ 90 (const size_t[]) { __VA_ARGS__ } \ 125 #define guac_mem_ckd_mul(result, ...) \ 126 PRIV_guac_mem_ckd_mul( \ 128 sizeof((const size_t[]) { __VA_ARGS__ }) / sizeof(const size_t), \ 129 (const size_t[]) { __VA_ARGS__ } \ 164 #define guac_mem_ckd_add(result, ...) \ 165 PRIV_guac_mem_ckd_add( \ 167 sizeof((const size_t[]) { __VA_ARGS__ }) / sizeof(const size_t), \ 168 (const size_t[]) { __VA_ARGS__ } \ 204 #define guac_mem_ckd_sub(result, ...) \ 205 PRIV_guac_mem_ckd_sub( \ 207 sizeof((const size_t[]) { __VA_ARGS__ }) / sizeof(const size_t), \ 208 (const size_t[]) { __VA_ARGS__ } \ 238 #define guac_mem_ckd_mul_or_die(...) \ 239 PRIV_guac_mem_ckd_mul_or_die( \ 240 sizeof((const size_t[]) { __VA_ARGS__ }) / sizeof(const size_t), \ 241 (const size_t[]) { __VA_ARGS__ } \ 270 #define guac_mem_ckd_add_or_die(...) \ 271 PRIV_guac_mem_ckd_add_or_die( \ 272 sizeof((const size_t[]) { __VA_ARGS__ }) / sizeof(const size_t), \ 273 (const size_t[]) { __VA_ARGS__ } \ 303 #define guac_mem_ckd_sub_or_die(...) \ 304 PRIV_guac_mem_ckd_sub_or_die( \ 305 sizeof((const size_t[]) { __VA_ARGS__ }) / sizeof(const size_t), \ 306 (const size_t[]) { __VA_ARGS__ } \ 340 #define guac_mem_realloc(mem, ...) \ 341 PRIV_guac_mem_realloc( \ 343 sizeof((const size_t[]) { __VA_ARGS__ }) / sizeof(const size_t), \ 344 (const size_t[]) { __VA_ARGS__ } \ 377 #define guac_mem_realloc_or_die(mem, ...) \ 378 PRIV_guac_mem_realloc_or_die( \ 380 sizeof((const size_t[]) { __VA_ARGS__ }) / sizeof(const size_t), \ 381 (const size_t[]) { __VA_ARGS__ } \ 394 #define guac_mem_free(mem) (PRIV_guac_mem_free(mem), (mem) = NULL, (void) 0) 410 #define guac_mem_free_const(mem) PRIV_guac_mem_free((void*) (mem))