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 | 5f287254715dd91f2c508a2a6b9853f0ef4ed785 (patch) | |
tree | d9c93f4d89197a5339f6e979b0cbd67519f37f0b /util.c | |
parent | 05ebee60843f24201f3e7c5c76ff94b6b5e868b2 (diff) | |
download | st-5f287254715dd91f2c508a2a6b9853f0ef4ed785.tar.gz st-5f287254715dd91f2c508a2a6b9853f0ef4ed785.tar.bz2 st-5f287254715dd91f2c508a2a6b9853f0ef4ed785.zip |
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); +} |