void * wi_realloc(void *pointer, size_t size) { void *newpointer; newpointer = realloc(pointer, size); if(!newpointer) wi_crash(); return newpointer; }
char * wi_strdup(const char *string) { char *newstring; newstring = strdup(string); if(!newstring) wi_crash(); return newstring; }
void * wi_malloc(size_t size) { void *pointer; pointer = calloc(1, size); if(!pointer) wi_crash(); return pointer; }
static void wi_assert_default_handler(const char *file, unsigned int line, wi_string_t *fmt, ...) { wi_string_t *string; va_list ap; va_start(ap, fmt); string = wi_string_init_with_format_and_arguments(wi_string_alloc(), fmt, ap); va_end(ap); wi_log_warn(WI_STR("Assertion failed at %s:%u: %@"), file, line, string); wi_release(string); wi_crash(); }