X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=util.c;fp=util.c;h=f8b9eee7289296f2cd857c7234e71563b9aa33f8;hb=5f287254715dd91f2c508a2a6b9853f0ef4ed785;hp=0000000000000000000000000000000000000000;hpb=05ebee60843f24201f3e7c5c76ff94b6b5e868b2;p=st.git diff --git a/util.c b/util.c new file mode 100644 index 0000000..f8b9eee --- /dev/null +++ b/util.c @@ -0,0 +1,37 @@ +/* See LICENSE file for copyright and license details. */ +#include "util.h" +#include +#include +#include +#include +#include + +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); +}