/* // . . . // | | | . // ,-. ,-. |-. ,-. . ,-. | ,_, ,-. ,-. |-. ,-,-. . |- ,_, // | | ,-| | | | | |-' | / `-. | | | | | | | | / // `-| `-^ ^-' ' ' `-' `' '"' `-' `-' ' ' ' ' ' ' `' '"' // ,| // `' // GITHUB:https://github.com/gabrielzschmitz // INSTAGRAM:https://www.instagram.com/gabrielz.schmitz/ // DOTFILES:https://github.com/gabrielzschmitz/dotfiles/ */ /* See LICENSE file for copyright and license details. */ #include #include #include #include #include "util.h" void * ecalloc(size_t nmemb, size_t size) { void *p; if (!(p = calloc(nmemb, size))) die("calloc:"); return p; } void die(const char *fmt, ...) { va_list ap; va_start(ap, fmt); vfprintf(stderr, fmt, ap); va_end(ap); if (fmt[0] && fmt[strlen(fmt)-1] == ':') { fputc(' ', stderr); perror(NULL); } else { fputc('\n', stderr); } exit(1); }