util.c - svkbd - simple virtual keyboard
(HTM) git clone git://git.suckless.org/svkbd
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
util.c (615B)
---
1 /* See LICENSE file for copyright and license details. */
2 #include <stdarg.h>
3 #include <stdio.h>
4 #include <stdlib.h>
5 #include <string.h>
6
7 #include "util.h"
8
9 void *
10 ecalloc(size_t nmemb, size_t size)
11 {
12 void *p;
13
14 if (!(p = calloc(nmemb, size)))
15 die("calloc:");
16 return p;
17 }
18
19 char *
20 estrdup(const char *s)
21 {
22 char *p;
23
24 if (!(p = strdup(s)))
25 die("strdup:");
26 return p;
27 }
28
29 void
30 die(const char *fmt, ...)
31 {
32 va_list ap;
33
34 va_start(ap, fmt);
35 vfprintf(stderr, fmt, ap);
36 va_end(ap);
37
38 if (fmt[0] && fmt[strlen(fmt)-1] == ':') {
39 fputc(' ', stderr);
40 perror(NULL);
41 } else {
42 fputc('\n', stderr);
43 }
44
45 exit(1);
46 }