util.c (459B)
1 #include <stdarg.h> 2 #include <stdio.h> 3 #include <stdlib.h> 4 #include <string.h> 5 6 #include "util.h" 7 8 void 9 die(const char *fmt, ...) 10 { 11 va_list ap; 12 13 va_start(ap, fmt); 14 vfprintf(stderr, fmt, ap); 15 va_end(ap); 16 if (fmt[0] && fmt[strlen(fmt) - 1] == ':') { 17 fputc(' ', stderr); 18 perror(NULL); 19 } else { 20 fputc('\n', stderr); 21 } 22 exit(1); 23 } 24 25 void * 26 ecalloc(size_t nmemb, size_t size) 27 { 28 void *p; 29 30 if (!(p = calloc(nmemb, size))) 31 die("calloc:"); 32 return p; 33 }