diff options
Diffstat (limited to 'util.c')
| -rw-r--r-- | util.c | 37 | 
1 files changed, 37 insertions, 0 deletions
@@ -0,0 +1,37 @@ +/* See LICENSE file for copyright and license details. */ +#include "util.h" +#include <errno.h> +#include <stdarg.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +void * +emallocz(unsigned int size) { +	void *res = calloc(1, size); + +	if(!res) +		eprint("fatal: could not malloc() %u bytes\n", size); +	return res; +} + +void +eprint(const char *errstr, ...) { +	va_list ap; + +	va_start(ap, errstr); +	vfprintf(stderr, errstr, ap); +	va_end(ap); +	exit(EXIT_FAILURE); +} + +void +eprintn(const char *errstr, ...) { +	va_list ap; + +	va_start(ap, errstr); +	vfprintf(stderr, errstr, ap); +	va_end(ap); +	fprintf(stderr, ": %s\n", strerror(errno)); +	exit(EXIT_FAILURE); +}  |