From e746f06265981fd17bc656ca59e0ed82f6cea84d Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Wed, 27 Apr 2016 17:19:53 +0200 Subject: Add option UNSAFE which disables all internal error checks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- src/internals.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/internals.h') diff --git a/src/internals.h b/src/internals.h index 2459f04..c59b792 100644 --- a/src/internals.h +++ b/src/internals.h @@ -97,6 +97,12 @@ extern void *libzahl_temp_allocation; #define likely(expr) ZAHL_LIKELY(expr) #define unlikely(expr) ZAHL_UNLIKELY(expr) +#if defined(UNSAFE) +# define check(expr) 0 +#else +# define check(expr) (expr) +#endif + #define SET_SIGNUM(a, signum) ZAHL_SET_SIGNUM(a, signum) #define SET(a, b) ZAHL_SET(a, b) #define ENSURE_SIZE(a, n) do { if ((a)->alloced < (n)) libzahl_realloc(a, (n)); } while (0) @@ -331,7 +337,7 @@ zinit_temp(z_t a) size_t n = (size_t)(libzahl_temp_stack_end - libzahl_temp_stack); void* old = libzahl_temp_stack; libzahl_temp_stack = realloc(old, 2 * n * sizeof(*libzahl_temp_stack)); - if (unlikely(!libzahl_temp_stack)) { + if (check(unlikely(!libzahl_temp_stack))) { libzahl_temp_stack = old; libzahl_memfailure(); } -- cgit v1.2.3-70-g09d2