#ifndef PANIC_H #define PANIC_H #include #include #include #include #include static void panic(const char *why, ...) { if (!why) return; va_list ap; va_start(ap, why); vfprintf(stderr, why, ap); fprintf(stderr, "\n"); va_end(ap); abort(); } #define must(result) ({ \ typeof(result) must_result = result; \ if (!must_result) { \ panic("SDL: %s", SDL_GetError()); \ } \ must_result; \ }) #endif