diff options
author | Matthias-Christian Ott <ott@enolink.de> | 2008-06-10 17:56:57 +0200 |
---|---|---|
committer | Matthias-Christian Ott <ott@enolink.de> | 2008-06-10 17:56:57 +0200 |
commit | 3e8930a7a6f8cd9c6cadeb3c89a743beb698d1f8 (patch) | |
tree | d9c93f4d89197a5339f6e979b0cbd67519f37f0b /util.c | |
parent | df9140d0505aa38ac5cb8182b24f2b86a136ec35 (diff) | |
download | st-3e8930a7a6f8cd9c6cadeb3c89a743beb698d1f8.tar.gz st-3e8930a7a6f8cd9c6cadeb3c89a743beb698d1f8.tar.bz2 |
source utility functions out to util.c
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); +} |