diff --git a/Makefile b/Makefile index cf1766c..dcbbbcf 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ include config.mk -SRC = st.c std.c +SRC = st.c std.c util.c pty.c OBJ = ${SRC:.c=.o} all: options st diff --git a/pty.c b/pty.c index bf0b0f7..4c38d86 100644 --- a/pty.c +++ b/pty.c @@ -1,4 +1,5 @@ /* See LICENSE file for copyright and license details. */ +#include "util.h" #include #include #include diff --git a/st.c b/st.c index a3421ff..8dd7793 100644 --- a/st.c +++ b/st.c @@ -1,4 +1,5 @@ /* See LICENSE file for copyright and license details. */ +#include "util.h" #include int diff --git a/std.c b/std.c index 3fd07a4..a7b2f4a 100644 --- a/std.c +++ b/std.c @@ -1,12 +1,8 @@ /* See LICENSE file for copyright and license details. */ -#include -#include -#include +#include "util.h" #include #include #include -#include -#include #include #include #include @@ -20,9 +16,6 @@ void buffer(char c); void cmd(const char *cmdstr, ...); -void *emallocz(unsigned int size); -void eprint(const char *errstr, ...); -void eprintn(const char *errstr, ...); void getpty(void); void movea(int x, int y); void mover(int x, int y); @@ -68,36 +61,6 @@ cmd(const char *cmdstr, ...) { va_end(ap); } -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); -} - void movea(int x, int y) { x = MAX(x, cols); 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); +} diff --git a/util.h b/util.h new file mode 100644 index 0000000..34db193 --- /dev/null +++ b/util.h @@ -0,0 +1,5 @@ +/* See LICENSE file for copyright and license details. */ + +void *emallocz(unsigned int size); +void eprint(const char *errstr, ...); +void eprintn(const char *errstr, ...);